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與算法社區 的文章