我试着去理解,除了名字,这些课程之间还有什么区别吗?如果我在声明变量"value"时使用或不使用uuu in i t_uu()函数,会有什么不同吗?
class WithClass ():
def __init__(self):
self.value ="Bob"
def my_func(self):
print(self.value)
class WithoutClass ():
value ="Bob"
def my_func(self):
print(self.value)
我主要担心的是,我将以一种方式使用它,当这将导致我的问题进一步发展(目前我使用的是init调用)。
重复问题中的详细答案和示例:stackoverflow.com/a/9056994/911945
在__init__之外设置的变量属于该类。它们由所有实例共享。
在__init__中创建并以self.开头的变量(以及所有其他方法函数)属于对象实例。
变量前缀为"self",即..
这不是Python为我做的。如果您不在__init__()中创建列表/dict/etc,那么它们将在所有实例之间共享。
@PHP太多:类方法中的所有变量(不考虑可变性——列表和dict是可变的)都是共享的。对于不变的对象,共享并不有趣。对于可变对象(列表和dict),共享非常重要。
我怀疑可能是这样,但我想,如果我陈述了我的假设,它可能会分散问题本身的注意力,为解决问题干杯:)
我以为这就是发生