如何解决如何访问在同一类实例中的另一个 def 中的 __init__ 中创建的变量?
目标:能够访问 a
中的 play
。
注意:我需要通过类的同一个实例中的变量保存信息,因为 play
将被多次调用。
代码:
class something():
def __init__(self):
a = 2
def play(self,b):
return True if a == b else False
test = something()
print(test.play(1))
期望:它应该print False
,因为2 != 1
,但我却收到了这个错误:
UnboundLocalError: local variable 'a' referenced before assignment
我试过了:
- 去掉
__init__
并将 int 放在 def 之外。 - 在
__init__
之前设置 int 并在__init__
中访问它。
注意:我在创建类的新实例时不能将参数传递给__init__
,这是一个练习,可以找到here,我不控制创建一个新实例。
解决方法
class something():
def __init__(self):
self.a = 2
def play(self,b):
return True if self.a == b else False
test = something()
print(test.play(1))
在 __init__
中你必须使用 self.variable
并且同样可以在同一个类的其他函数中使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。