3 回答
TA貢獻1856條經驗 獲得超5個贊
__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'
abTest.aTest.b
__init__
print self.a找不到實例變量,因此返回類變量 self.a = a*一個新的實例變量 a是被創造出來的。這樣就隱藏了類變量 self.a現在將引用實例變量;要訪問類變量,現在必須使用 Test.a分配給 self._x創建一個新的實例變量。它被認為“不是公共API的一部分”(也是受保護的),但從技術上講,它沒有不同的行為。 分配給 self.__y創建一個名為 _Test__y,也就是說,它的名稱被損壞了,所以除非您使用損壞的名稱,否則不能從類外部訪問它。這可以用于“私有”變量。 分配給 b創建一個局部變量。它在任何地方都是不可用的,但是 __init__函數,因為它沒有保存在實例、類或全局范圍中。
TA貢獻1794條經驗 獲得超8個贊
class test:<br>
def __init__(self, a):
self.__elements = a<br>
def change_a(self): self.__elements = 5t = test(5)
這將按對象訪問._classname_Privatevaribalename
print(t._test__elements)
這將打印a‘的更改值。
TA貢獻1818條經驗 獲得超8個贊
Class.x = 5
_foo__foo_classname__foo.
添加回答
舉報
