【发布时间】:2023-03-28 05:46:01
【问题描述】:
在这个程序中,我试图创建一个名为 Human 的类,其中包含表示人类不同属性的类:
class Human:
class Health:
def __init__(self):
self.thirst = 24
self.hunger = 36
self.howSleepy = 48
class Ginetics:
def __init__(self, spawnCoordinates, parentM, parentF, isMale):
self.spawnCoordinates = coordinates
self.parentM = parentM
self.parentF = parentF
self.isMale = isMale
self.kids = [[]]
class General:
def __init__(self, birthday):
self.birthday = birthday
def __init__(self, spawnCoordinates, parentM, parentF, isMale, birthday):
self.Health = Health()
self.Genetics = Genetics(spawnCoordinates, parentM, parentF, isMale)
self.General = General(birthday)
但是当我运行这个...
hum1 = Human((500,500), "Dan", "Lisa", True, 120)
它给了我这个错误:
NameError: name 'Health' is not defined
【问题讨论】:
-
试试
Human.Health()而不是Health() -
你需要先访问外部类才能访问内部类,查看本教程,它解释了一切:datacamp.com/community/tutorials/inner-classes-python