在类中声明变量(在函数外部):所有类函数都可以访问它(基本上是公共变量)
在类内的函数内声明变量:只有该函数才能访问它(在该函数范围内)
在类内的函数内部声明带有self。(变量名)的变量:所有类函数都可以访问它(这与全局变量名有何不同?)
并且由于没有私有/受保护的事物,所以所有事物都是公共的,因此可以从类外部访问所有可以从类内部访问的事物。
我还有其他细微差别应该知道吗?
由于你问题中的清单不是100%清晰,因此我决定用一个简单的例子对其进行解释。它还包括一些__something你未在列表中提及的变量。
__something
class Test: a = None b = None def __init__(self, a): print self.a self.a = a self._x = 123 self.__y = 123 b = 'meow'
在开始的时候,a和b只对类本身定义的变量-通过访问Test.a,并Test.b和不针对任何实例。
Test.a
Test.b
创建该类的实例时(导致__init__执行):
__init__
self._x
self.__y
_Test__y