一、isinstance(object,class_or_type_or_tuple)
檢查 object 是否為 class_or_type_or_tuple 的物件
classfoo(object):
pass
obj =foo()
ifisinstance(obj,foo):
print('
yes'
)else
:
print('
no')
二、issubclass(c,b)
檢查 c 是否為 b 的子類
classb(object):
pass
class
c(b):
pass
print(issubclass(c, b))
三、super()
執行父類的方法
例項,有序字典
classmydict(dict):
def__init__
(self):
self.
__li =
super(mydict,self).
__init__
()
def__setitem__
(self, key, value):
self.
__li
super(mydict,self).
__setitem__
(key, value)
def__str__
(self):
temp_list =
for key in self.__li:"
\'%s\': %s
" % (key,self.__getitem__
(key)))
temp_str ="
"return
temp_str
obj =mydict()
obj['k1
'] = 'v1'
obj['k2
'] = 'v2'
print(obj)
四、異常處理
異常處理的所有結構,至少包含 try...except...
try:
#逐行執行主**段
print(123)
except
valueerror as ex:
#當檢測到 valueerror 時執行
(ex)
except
exception as ex:
#exception 匹配所有一樣
#當檢測到除 valueerror 之外的錯誤時執行
(ex)
else
:
#當主**塊執行完成後執行
pass
finally
:
#無論主**塊是否有報錯,都執行
pass
主動觸發異常
try:
raise exception('
主動錯誤一下')
except
exception as e:
print(e)
自定義異常
classmyexception(exception):
def__init__
(self, msg):
self.message =msg
def__str__
(self):
return
self.message
try:
raise myexception("
主動錯一下自定義的錯誤")
except
myexception as e:
print(e)
斷言
#當 assert 後面的表示式為 true 時不報錯,否則報 assertionerror 錯誤
assert 1 == 1
assert 1 == 2
五、設計模型之單例模式
單利模式存在的目的是保證當前記憶體中僅存在單個例項,避免記憶體浪費
classconnectpool(object):
__pool =none
def__init__
(self):
pass
@staticmethod
defget_pool():
ifnot connectpool.__pool
: connectpool.
__pool =connectpool()
return connectpool.__pool
obj1 =connectpool.get_pool()
obj2 =connectpool.get_pool()
print(obj1,obj2)
物件導向3
前邊八篇部落格寫了從面向過程的方法來開發一款軟體的各種方法,和過程。包括了計畫,需求分析,設計,程式功能的實現,測試,維護還有介面設計的多項。但是,隨著技術的發展,隨著it業的發展,物件導向的技術,已經發展的越來越廣泛。這篇部落格,我就給大家概要介紹一下面向技術相關技術!首先看一下要總結知識的幾大項...
物件導向3
1 json的全稱就是個 object 物件 2 物件導向的封裝函式叫做工廠方式 方便建立多個物件導向 3 物件的引用 基本型別的引用 單純只是值的複製 物件型別的引用 位址的傳遞引用 只要在程式中賦值,必然要開闢新的位址。比較 基本型別只要值相同true 物件型別 值和引用都相同 var arr1...
物件導向3
抽象類 抽象類是對一類事物特徵行為的抽象,可以包含抽象方法。在python3中可以使用abc模組,該模組中有乙個元類abcmeta和修飾器 abstractmethod。抽象類不能被直接例項化 多重繼承 python支援多重繼承,即1個類可以繼承多個父類。語法為 class name parent ...