type(name,bases,dict)
元類構造物件
isinstance(object,classinfo)
:判斷例項是否屬於類
issubclass(class,classinfo)
:判斷繼承關係
hasattr(object,name)
:判斷例項屬性是否存在
getattr(object,name)
:獲取例項屬性值
setattr(object,name,value)
:設定例項屬性
delattr(object,name)
:刪除例項屬性
super(type[, object-or-type])
:返回值可以直接呼叫其父類屬性
import types
class
obj:
def__init__
(self)
:pass
o1=obj(
)o2=obj(
)
# 靜態變數
# 嚴格說沒有指標概念的python不支援靜態變數
# 被修改過的例項不會被同化,淺複製邏輯
obj.attr_ac=
'attr_ac'
# 例項變數
o1.attr_dy=
'attr_dy'
# 靜態方法(不需要self引數)
@staticmethod
deffc_sc()
:print
('fc_sc'
)obj.fc_sc=fc_sc
o1.fc_sc(
)# 例項方法
deffc_dy
(self)
:print
('fc_dy'
)o1.fc_dy=types.methodtype(fc_dy,o1)
o1.fc_dy(
)print
([x for x in
dir(o1)
ifnot x.endswith(
'__')]
)print
([x for x in
dir(o2)
ifnot x.endswith(
'__')]
)
Python高階 物件自省
自省 introspection 在計算機程式設計領域裡,是指在執行時來判斷乙個物件的型別的能力。它是python的強項之一。python中所有一切都是乙個物件,而且我們可以仔細勘察那些物件。python還包含了許多內建函式和模組來幫助我們。dir用於自省的最重要的函式之一。它返回乙個列表,列出了乙...
Python高階06 迴圈物件
通過上面一講,我們再次熟悉了python裡的迴圈控制。現在,我們將接觸迴圈物件 iterable object 這一講的主要目的是為了大家在讀python程式的時候對迴圈物件有乙個基本概念。迴圈物件的並不是隨著python的誕生就存在的,但它的發展迅速,特別是python 3x的時代,從zip 或者...
Python高階06 迴圈物件
這一講的主要目的是為了大家在讀python程式的時候對迴圈物件有乙個基本概念。迴圈物件的並不是隨著python的誕生就存在的,但它的發展迅速,特別是python 3x的時代,迴圈物件正在成為迴圈的標準形式。什麼是迴圈物件 迴圈物件是這樣乙個物件,它包含有乙個next 方法 next 方法,在pyth...