Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Python error: TypeError: setrating() takes exactly 2 arguments (3 given)  (gelezen 457 keer)

Offline bartveurink

  • Lid
  • Steunpunt: Nee
Onderstaande code zit een error in:
def setrating(name, R):
x = 0
while x < len(self.members):
if self.members[x].name == name:
self.members[x].R = R
return
x += 1

Citaat
>>> a.setrating('Bart', 1200)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: setrating() takes exactly 2 arguments (3 given)
« Laatst bewerkt op: 2014/02/28, 17:26:32 door bartveurink »

Offline FreeTheBee

  • Lid
  • Steunpunt: Nee
Re: Python error: TypeError: setrating() takes exactly 2 arguments (3 given)
« Reactie #1 Gepost op: 2014/02/28, 18:19:44 »
Ik denk dat je  self bent vergeten in de definitie

def setrating(self, name, R):

Offline bartveurink

  • Lid
  • Steunpunt: Nee
Re: Python error: TypeError: setrating() takes exactly 2 arguments (3 given)
« Reactie #2 Gepost op: 2014/02/28, 18:27:49 »
Klopt, Waarvoor dient self?

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python error: TypeError: setrating() takes exactly 2 arguments (3 given)
« Reactie #3 Gepost op: 2014/02/28, 19:19:53 »
Klopt, Waarvoor dient self?

Bij twijfel, print gewoon de variabele:

print self # Python 2
print(self) # Python 3

Elke class method heeft automatisch een eerste parameter, self, die verwijst naar de instantie van de class waartoe deze method behoort.

In uw voorbeeld gebruikt ge een paar keer self.members. De "self" variabele moet ergens vandaan komen en natuurlijk ook ergens naar verwijzen, anders kan hij de members attribuut niet vinden.