在类中使用不带self的变量-Python
我有一个问题,为什么下面的代码执行它的功能在类中使用不带self的变量-Python,python,Python,我有一个问题,为什么下面的代码执行它的功能 class Account: def __init__(self, id): self.id = id id = 800 id = self.id + id acc = Account(123) print(acc.id) 为什么这个代码会打印123而不是923?为什么id在类内部不起作用?将作用域中的变量声明为self.id+id,当init函数完成时,作用域消失,因此id不再存在 也许,你
class Account:
def __init__(self, id):
self.id = id
id = 800
id = self.id + id
acc = Account(123)
print(acc.id)
为什么这个代码会打印123而不是923?为什么id在类内部不起作用?将作用域中的变量声明为
self.id+id
,当init函数完成时,作用域消失,因此id
不再存在
也许,你想做:
self.id = self.id + id
id
是\uuuu init\uuuu
内部的局部变量,您不能在此方法外部访问它
当您访问acc.id
时,您可以访问Account
类的id
属性
属性前面是类中的
self
,因为您正在设置id=self.id+id
而不是self.id=self.id+id
<代码>id!=self.id,它们是两个完全不同的变量acc.id
将返回self.id
关于\uuuuu init\uuuu
函数的研究值