当我运行类似于:
class Compliment():
def __init__(self):
self.Hello = "HI"
def Bye(self):
self.bye = "BYE"
print(Compliment().Hello)
print(Compliment().bye)
我得到:`
AttributeError: 'Compliment' object has no attribute 'bye'
HI
但是我想在其他方法中创建属性,并使方法“init”对此毫无用处,这可能吗?如果是,我怎么能做那样的事
python类属性装饰器在初始化时执行。
它可以自动生成和使用,而无需运行单独的函数
您可以在任何地方创建属性。代码中的错误是,在尝试打印仅在该方法中创建的属性之前,没有调用方法
Bye
。相反,试试看回答您的直接问题:不,您不能使
__init__
对创建属性毫无用处。您不必这样使用它,但不能禁用它:__init__
是一种语言定义的方法相关问题 更多 >
编程相关推荐