執行函式時會從定義函式開始執行,而不會從類開始執行
super()
函式是用於呼叫父類(超類)的乙個方法,可用其來代替父類名稱
方法名同,預設呼叫的是在括號中排前地父類的方法
class
test
(object):
class_attr =
100# 類屬性
def__init__
(self)
: self.sl_attr =
88# 例項屬性
deffunc
(self)
:print
('類物件.類屬性的值:'
, test.class_attr)
# 呼叫類屬性
print
('self.類屬性的值'
, self.class_attr)
# 相當於把類屬性 變成例項屬性
print
('self.例項屬性的值'
, self.sl_attr)
# 呼叫例項屬性
a = test(
)a.func(
)# 類物件.類屬性的值: 100
# self.類屬性的值 100
# self.例項屬性的值 88
b = test(
)b.func(
)# 類物件.類屬性的值: 100
# self.類屬性的值 100
# self.例項屬性的值 88
a.class_attr =
200a.sl_attr =
99a.func(
)# 類物件.類屬性的值: 100 #類屬性值沒有改變
# self.類屬性的值 200 #類屬性變成例項屬性,值被改變了
# self.例項屬性的值 99
b.func(
)# 類物件.類屬性的值: 100
# self.類屬性的值 100
# self.例項屬性的值 88
test.class_attr =
300a.func(
)# 類物件.類屬性的值: 300
# self.類屬性的值 200
# self.例項屬性的值 99
b.func(
)# 類物件.類屬性的值: 300
# self.類屬性的值 300 #類屬性變成例項屬性,值隨類屬性改變而改變
# self.例項屬性的值 88
issubclass
(class
, classinfo)
# 用於判斷引數 class 是否是型別引數 classinfo 的子類
# 乙個類被認為是其自身的子類
# classinfo可以是類物件的元組,只要class是其中任何乙個候選類的子類,則返回true
isinstance
(object
, classinfo)
# 用於判斷乙個物件是否屬於某乙個已知的型別,類似type()
# type()不會認為子類是一種父類型別,不考慮繼承關係
# isinstance()會認為子類是一種父類型別,考慮繼承關係
# 如果第乙個引數不是物件,則永遠返回false
# 如果第二個引數不是類或者由類物件組成的元組,會丟擲乙個typeerror異常
hasattr
(object
, name)
# 用於判斷物件是否包含對應的屬性
getattr
(object
, name[
, default]
)# 用於返回乙個物件屬性值
setattr
(object
, name, value)
# 對應函式 getattr(),用於設定屬性值,該屬性不一定是存在的,但仍然可以設定並輸出
delattr
(object
, name)
# 用於刪除屬性,刪除後,再輸出該屬性會觸發錯誤
class
property
([fget[
, fset[
, fdel[
, doc]]]
])# 用於在新式類中返回屬性值
fget # 獲取屬性值的函式
fset # 設定屬性值的函式
fdel # 刪除屬性值函式
doc # 屬性描述資訊
python中的常用內建屬性與內建函式
常用專有屬性常用專有屬性 說明觸發方式 init 構造初始化函式 建立例項後,賦值時使用,在 new 後 new 生成例項所需屬性 建立例項時 class 例項所在的類 例項.class str 例項字串表示,可讀性 print 類例項 如沒實現,使用repr結果 repr 例項字串表示,準確性 類...
python 內建函式 魔法屬性 詳解
3.魔法屬性 3.2 repr 例項視覺化 3.3 eq 判等,hash 計算hash值 map是乙個將乙個或多個序列對映成乙個序列的函式。第乙個引數為function,function可以是單或多引數。接著是乙個或多個序列。例如 reduce對序列的返回值進行累加。counter類,它是dict的...
Python 內建物件
方法 功能bit length 返回以二進位制表示乙個整數所需要的位數,不包括符號位和前面的零 to bytes length,byteorder,signed false 返回表示乙個整數的位元組陣列 from bytes bytes,byteorder,signed false 返回由給定位元組...