在这个程序中,我试图创建一个名为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
Health
等不是全局变量;它们是类属性。你必须写self.Health = Human.Health()
但是,嵌套类通常不在Python中使用。意图可能只是将
Health
与Human
的实例一起使用,但它的定义与Human
没有内在联系。只需在全球范围内宣布:分离类而不是嵌套它们,这样做没有好处,而且会降低代码的可读性
输出:
相关问题 更多 >
编程相关推荐