Hier ist die Klasse in Frage:Warum kann ich keine Instanz einer Klasse in einer Funktion erstellen?
class Hero(object):
def __init__(self, Name, HP, Damage):
self.Name = Name
self.HP = HP
self.Damage = Damage
Hier ist die Funktion in Frage:
def GenerateHero(HeroName, HeroHP, HeroDamage):
MyHero = Hero(HeroName, HeroHP, HeroDamage)
Der Eingang:
GenerateHero("Bob", 100, 10)
Es läuft. Wenn ich versuche, „MyHero.Name“ zu tun oder ein anderes Attribut zuzugreifen, erhalte ich:
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
MyHero
NameError: name 'MyHero' is not defined
Sie geben nichts von 'GenerateHero' zurück. Oder sogar diese Variable im richtigen Bereich zu erstellen. –
Der Held lebt nur im Rahmen der 'GenerateHero'-Methode. – Freddy
http://StackOverflow.com/Questions/291978/short-description-of-python-scoping-Rules –