我试图制作一个口袋妖怪模拟器,我试图将一个Type对象传递给我的Move对象,但我不明白如何将其传递出去。
class Type:
def __init__(self):
self.name="fire"
self.atNOR=1
self.atFIG=1
self.atFLY=1
self.atPOS=1
self.atGRO=1
self.atROC=1
self.atBUG=1
self.atGHO=1
self.atFIR=1
self.atWAT=1
self.atGRA=1
self.atELE=1
self.atPSY=1
self.atICE=1
self.atDRA=1
class Move:
def __init__(self):
self.name = "tackle"
self.power= 0
self.ability= "none"
self.type= normal
这只是告诉我正常不是数据类型,我不知道如何使这一行将此正常变量定义为类型
答案 0 :(得分:1)
如果您想要"输入"对象作为Move对象中的属性,您需要使用"合成模式" (所以Move有一个类型):
class Move:
def __init__(self):
self.name = "tackle"
self.power = 0
self.ability = "none"
self.type = Type()
有关构图/继承的更多信息here
LearnPythonTheHardway并不总是学习Python的非常好的资源,但实际上这个主题非常好。
使用" Type"时要小心作为班级名称。小写type
实际上是内置的Python类,可以用作元类编程的构造(或者通常创建类)。