-1
這裏是有問題的類:爲什麼我不能在函數內創建類的實例?
class Hero(object):
def __init__(self, Name, HP, Damage):
self.Name = Name
self.HP = HP
self.Damage = Damage
這裏是有問題的功能:
def GenerateHero(HeroName, HeroHP, HeroDamage):
MyHero = Hero(HeroName, HeroHP, HeroDamage)
輸入:
GenerateHero("Bob", 100, 10)
它運行。當我嘗試做「MyHero.Name」或訪問任何其他屬性,我得到:
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
MyHero
NameError: name 'MyHero' is not defined
你沒有從'GenerateHero'返回任何東西。甚至在正確的範圍內創建該變量。 –
英雄只存在於'GenerateHero'方法的範圍內。 – Freddy
http://stackoverflow.com/questions/291978/short-description-of-python-scoping-rules –