#繼承 子類繼承父類,子類可以繼承乙個父類還有父類的妻子小妾們 ,子類可以使用父類的屬性和方法#父類a
class
a():
def
__init__(self,name=none,age=none):
self.name=name
self.age=age
def default(self):
print("呼叫父類a方法default",self.name,self.age)
#父類c
class c():
def default(self):
print("呼叫小妾方法")
#子類b 可以有多個子類繼承乙個父類
class b(a,c): #如果呼叫的父類引數方法名一樣會按照順序從前往後呼叫(爹最大)
__phone=12345678999
date="this is date"
numbernoe = none
def
__init__(self,me=none,name=none,age=none):#初始化方法_init_
self.me=me#給屬性復值
#(1)給父類復值
#self.name=name
#self.age=age
# (2)給父類屬性復值
#a.name=name
#a.age=age
#(3)給父類屬性復值
a.__init__(self,name,age)
#(4)給父類方法復值
#super(b,self).__init__(name,age)
# 單例模式 (只有乙個例項)
# @classmethod
# def __new__(cls, *args, **kwargs):#構造方法例項化物件
# if cls.numbernoe==none:
# cls.numbernoe=object.__new__(cls)
# return cls.numbernoe
# else:
# return cls.numbernoe
# 測試列印父類屬性
def prints(self):
print("列印:",self.me,self.name,self.age,self.__phone,"
\t",end="")
#按照順序呼叫父類a的方法
super().default()
def default(self):
print("這是子類重寫父類方法")
#普通方法 self呼叫例項屬性
def methods(self,name):
print(self.date,name)
#類方法 也可通過類名呼叫 cls訪問類屬性
@classmethod
def classs(cls,name):
print(cls.date,name)
#靜態方法 也可通過類名呼叫 不可以訪問,通過傳值的方式
@staticmethod
def statics(name):
print(name)
#排序規則 或用__gt__
def
__lt__(self,other):
#gbk 按照拼音首字母排序
#return self.name.encode("gbk") < other.name.encode("gbk")
return
self.age "ss","zhazi",68)
ccc=b("aa","dui",58)
ccc.prints()#子類列印 按順序呼叫最開始的父類方法
ccc.default()#子類重寫父類方法
print("檢視物件有幾個引用",sys.getrefcount(ccc))
print("擦看引用是否相同肯定相同啊",id(abc)==id(ccc))
列印結果:
列印: aa dui 58 12345678999 呼叫父類a方法default dui 58
這是子類重寫父類方法
檢視物件有幾個引用 2
擦看引用是否相同肯定相同啊 false(去掉注釋為true)
#方法的區別
cas=b()
cas.date="this is new"
cas.methods("普通方法")
cas.classs("類方法")
cas.statics("靜態方法")
列印:this is new 普通方法
this is date 類方法
靜態方法
#方法排序 關閉單例 建立好多例項
lists=[b("傻子","男",58),b("二傻子","女",38),b("大傻子","男",88)]
lists.sort()
for i in lists:
print(i.age)
列印:38 58 88
#異常處理 詳情翻看python異常大全
def zrrors():
try:
1/0except
zerodivisionerror
as ss: #as 給實體類取別名
print("除數不能為0")
raise
exception(ss) # raise引發異常
except
exception
as ss:
print("最大的異常處理exception",ss)
else:
print("沒有異常執行")
finally:
print("執行完畢必須執行")
zrrors()
第13 1節 關於Python的異常處理
python的異常網上有很多資料介紹,老猿就不再細說,在這裡老猿只挑幾件老猿認為重要的內容介紹一下。一 異常處理完整語法 異常處理的完整語法語法如下 try except 異常1,異常n as e 異常處理 1 except 異常k,異常l as e 異常處理 1 else 無異常時的正常 fina...
Python開發 第5節 函式基礎
函式的本質就是功能的封裝。函式的作用 def 函式名 引數 函式文件 函式功能 函式功能 呼叫函式 函式名 引數 形參 宣告函式時 中的引數是形參 形參只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。...
慕課筆記 U4 多型 第5節 UML簡介
第5節 uml簡介 1 uml概念 unified modeling language uml 又稱統一建模語言或標準建模語言,是乙個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援。2 uml圖示 uml2.2中一共定義了14種圖示 diagrams 3 常用uml...