我有这样的事情:
class updateMyNumber:
def __init__(self, number):
self.number = update_number(number)
def update_number(self, number):
self.number = number * 2
inst = updateMyNumber(5)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
NameErrorTraceback(最近一次调用最后一次) in () ----> 1 inst = updateMyNumber(5)
在init (self, number) 1 class updateMyNumber: 2 def init (self, number): ----> 3 self.number = update_number(number) 4 5 def update_number(self, number):
NameError:名称“update_number”未定义
我想要inst返回25。定义类的最佳方式是什么?
注意:我不想写 self.number = number * 2
小智 6
你应该调用该self方法:
class updateMyNumber:
def __init__(self, number):
self.update_number(number)
def update_number(self, number):
self.number = number * 2
Run Code Online (Sandbox Code Playgroud)
但在内部__init__设置实例变量的更好方法是阅读should-all-member-variables-be-initialized-in-init
所以我向你推荐一些东西:
class updateMyNumber:
def __init__(self, number):
self.number = self.update_number(number)
def update_number(self, number):
return number * 2
Run Code Online (Sandbox Code Playgroud)