Seite 1 von 1

global name ... is not defined - aka kleines Klassenproble

Verfasst: Dienstag 20. Mai 2008, 20:04
von Crazed
Hallo,

Ich habe folgenden code:

Code: Alles auswählen

class MonstersGame():
    def __init__(self, server, username, password):
        #Public:
        self.server = server
        self.username = username
        self.password = password
        
        #Private:
        self.__serverlist = ('http://www.monstersgame.de', 'http://www.monstersgame.org', '',\
                             'http://www.monstersgame.info', 'http://www.monstersgame.net')

    def login(self):
        if self.server >= 5:
            self.server = self.__serverlist[server+1]
        else:
            self.server = 'http://spielwelt'+str(server+1)+'.monstersgame.net'
Nachdem instanzieren des Obejts gibt er mir jetzt aber bei dem aufrufen von login die Fehlermeldung:

global name 'server' is not defined
Dabei sollte es das aber doch weil self, also das Objekt selber wird ja als referenz an login übergeben, oder?

Verfasst: Dienstag 20. Mai 2008, 20:17
von Crazed
Probem gelöst.

Zeile 16 :oops:

Verfasst: Dienstag 20. Mai 2008, 20:23
von mitsuhiko
Warum muss serverlist private sein? Leitest du von der Klasse ab?

Verfasst: Dienstag 20. Mai 2008, 21:14
von BlackJack
Um mitsuhiko's Frage noch einmal anders zu formulieren: Warum reicht "private" mit *einem* Unterstrich am Anfang nicht aus?