一尘不染

Python-__init __()内部和外部变量之间的差异

python

除了名称,这些类之间是否有任何区别?

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__声明变量的方法,会有所不同value吗?

我主要担心的是,我会以一种方式使用它,否则会给我带来进一步的问题。


阅读 323

收藏
2020-02-21

共1个答案

一尘不染

外部变量集__init__属于该类。它们被所有实例共享。

在内部__init__(以及所有其他方法函数)创建并以其开头的变量self.属于对象实例。

2020-02-21