Seite 1 von 1

Tupel in einer Klasse will nicht. (object not callable)

Verfasst: Donnerstag 17. Mai 2007, 22:10
von Nicht_zu_definieren
Hallo!

Ich hab ein Problem, lassen wir zuerst mal bisschen Code sprechen:

Code: Alles auswählen

class IPRange:
    knownIPs = ('192.168.0.100', '67.88.12.254')
    knownIPInRange = (
    ('192.168.0.100', ('192.168.0.0', '192.168.0.255')),
    ('62.47.88.67', ('62.0.0.0', '63.0.0.0')),
    ('62.47.88.67', ('62.46.0.0', '62.47.255.255'))
    ('62.47.88.67', ('62.47.88.0', '62.47.88.255')),
    )
Der Code will nicht, er gibt mir als Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "unittest_ip.py", line 4, in ?
    class IPRange:
  File "unittest_ip.py", line 6, in IPRange
    knownIPInRange = (
TypeError: 'tuple' object is not callable
Er soll mir als Variablen knownIPs und knownIPInRange definieren.
Wieso funktioniert das nicht? Wie muss ich das umändern, so dass es geht?
Danke schon mal im Voraus.

Verfasst: Donnerstag 17. Mai 2007, 22:42
von BlackJack
Du versuchst ein Tupel wie eine Funktion aufzurufen. Ein Aufruf ist ja eine Argumentliste in Klammern, die nach einem Objekt steht. Also so etwas sollte man nicht machen:

Code: Alles auswählen

In [43]: ('a', 'b') ('c', 'd')
---------------------------------------------------------------------------
exceptions.TypeError          Traceback (most recent call last)

/home/new/<ipython console>

TypeError: 'tuple' object is not callable
Ich denke mal die Stelle wo das Komma fehlt, findest Du selber. :-)

Verfasst: Freitag 18. Mai 2007, 06:11
von mitsuhiko
Dir fehlt ein Komma am Zeilenende des vorletzten Eintrages.