python類的成員 python 類的特殊成員

2021-10-13 10:28:46 字數 1425 閱讀 9827

上文介紹了python的類成員以及成員修飾符,從而了解到類中有字段、方法和屬性三大類成員,並且成員名前如果有兩個下劃線,則表示該成員是私有成員,私有成員只能由類內部呼叫。無論人或事物往往都有不按套路出牌的情況,python的類成員也是如此,存在著一些具有特殊含義的成員,詳情如下:

1. __doc__

表示類的描述資訊

classfoo:"""描述類資訊,這是用於看片的神奇"""

deffunc(self):pass

print foo.__doc__

#輸出:類的描述資訊

2.. __init__

構造方法,通過類建立物件時,自動觸發執行。

classfoo:def __init__(self, name):

self.name=name

self.age= 18obj= foo('wupeiqi') #自動執行類中的 __init__ 方法

3. __call__

物件後面加括號,觸發執行。

注:構造方法的執行是由建立物件觸發的,即:物件 = 類名() ;而對於 __call__ 方法的執行是由物件後加括號觸發的,即:物件() 或者 類()()

classfoo:def __init__(self):pass

def __call__(self, *args, **kwargs):print '__call__'obj= foo() #執行 __init__

obj() #執行 __call__

4. __dict__

類或物件中的所有成員

上文中我們知道:類的普通字段屬於物件;類中的靜態欄位和方法等屬於類,即:

classprovince:

country= 'china'

def __init__(self, name, count):

self.name=name

self.count=countdef func(self, *args, **kwargs):print 'func'

#獲取類的成員,即:靜態字段、方法、

print province.__dict__

#輸出:

obj1= province('hebei',10000)print obj1.__dict__

#獲取 物件obj1 的成員#輸出:

obj2= province('henan', 3888)print obj2.__dict__

#獲取 物件obj1 的成員#輸出:

print obj2.__dict__['name']

# 輸出:henan

5. __str__

如果乙個類中定義了__str__方法,那麼在列印 物件 時,預設輸出該方法的返回值。

classfoo:def __str__(self):return 'wupeiqi'obj=foo()printobj#輸出:wupeiqi

python類的成員 Python類成員

乙個是乙個類屬性,另乙個是乙個例項屬性。它們是不同的,但是它們之間的關係密切相關,使得它們在時間上看起來一樣。它與python查詢屬性的方式有關。有層次結構。在簡單的情況下,它可能如下所示 instance subclass superclass object built in type 當你在這樣...

python類成員 Python類之類的成員

對於乙個學c 的朋友來說,python類中,哪些是私有成員,哪些是共有成員,估計一直傻傻分不清。一 本篇部落格要解決的問題 python類中,哪些是私有成員?哪些是共有成員?二 關於python的類 所以,你寫的型別其本身有屬性和方法,而型別對應的例項,也有自己的屬性,不過並沒有方法。也就是說,py...

python類成員 Python 類的特殊成員解析

類的成員有兩種形式 公有成員,在任何地方都能訪問 私有成員,只有在類的內部才能方法,私有成員命名時,前兩個字元是下劃線。class foo def init self,name,age self.name name self.age age def show self 間接方法私有字段 return...