Python學海無涯路 第36回 類的封裝

2021-09-27 12:09:54 字數 1117 閱讀 8788

4、單末尾下劃線

5、前導雙下劃線

封裝就是,把屬性和方法都藏起來,不讓你看見

class

animal

: _a =

12345

if __name__ ==

'__main__'

: animal = animal(

)print

(animal._a)

輸出:

12345

def

funa()

:print

("a函式"

)def

_funb()

:print

("b函式"

)

from test import

*if __name__ ==

'__main__'

: funa(

) _funb(

)#這個函式無法被呼叫,會報錯

輸出:

#前導雙下劃無法在外部直接訪問

class

animal

: __a =

12345

if __name__ ==

'__main__'

: animal = animal(

)print

(animal.__dict__)

print

(animal._animal__a)

#名稱修飾後的名字訪問

輸出:

12345

Python學海無涯路 第08回 函式

3 返回值 def test x y 2 x return y呼叫函式時可使用的正式引數型別 引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣,不然會出現語法錯誤。使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。如果引數中還有其他引數...

Python學海無涯路 第12回 map函式

將列表中的每個元素加1,可以使用以下方法 usr bin env python coding utf 8 array num 1 2,3 4 定義乙個函式,數字加1 deffunc add x return x 1def map test func,array ret 定義乙個空列表 for i i...

Python學海無涯路 第17回 迭代器

可迭代物件 實現了迭代器協議的物件 迭代器有兩個基本的方法 iter 和 next for迴圈的本質 將物件用 iter 轉換成可迭代物件,呼叫其next 方法。字串 列表 元組 字典 集合 檔案物件,這些都不是可迭代物件,只不過在for迴圈時,呼叫了他們內部的 iter 方法,把它們變成了可迭代物...