「每天3分鐘學Python」Python類的定義,屬性,方法,訪問性

01
Python 隨著人工智慧,機器學習,深度學習,AI 的發展,迅速成為寵兒。
今天,花 3分鐘時間,解讀下Python中的類,定義,使用等。
如何定義自己的類呢?
類(物件)
class dog(object)
以上定義了一個dog物件,它繼承於根類object.
02
類的屬性
def __init__(self, name, dtype):
self.name = name
self.dtype = dtype
以上定義了dog物件的兩個屬性:name, dtype,通過__init__,這個系統函式是每個物件自帶的。
03
類的方法
def shout(self):
print('I'm %s, type: %s' % (self.name, self.dtype))
注意,物件的方法引數必須要有self,引用屬性時,必須前面新增self.name等。
04
類的例項
xiaohuaDog = dog('xiaohua','quanType')
xiaohuaDog是dog物件的例項,Instance.
05
方法的可訪問性
shout(selft)
shout()是一個public方法,或者可在外部被其他模組呼叫的方法。
__shout(selft)
如果在shout前加2個_後,此方法變為私有方法,只能在內部使用。
__type
屬性前加2個_後,屬性變為私有屬性,通過這個可改變屬性的可讀可寫屬性。
def get_type(self):
return __type
這樣後,相當於type是可讀不可寫的。
06
私有變數真的無法被外部訪問嗎?
肯定不是!
要看python直譯器是怎麼解釋私有變數或方法的。
一般地,不能直接訪問__type是因為Python直譯器對外把__type變數改成了_dog__type,所以,仍然可以通過_dog__type來訪問__type變數。
但是不建議這麼做!
這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python指令碼到web開發、爬蟲、資料分析、資料視覺化、機器學習等。送給正在學習python的小夥伴!這裡是python學習者聚集地,歡迎初學和進階中的小夥伴!
來微信公眾號:“速學Python”,拿Python學習資料
