日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Day26

發布時間:2024/4/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Day26 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類的專有方法:

??? __init__ 構造函數,在生成對象時調用

??? __del__ 析構函數,釋放對象時使用

??? __repr__ 打印,轉換

??? __setitem__按照索引賦值

??? __getitem__按照索引獲取值

??? __len__獲得長度

??? __cmp__比較運算

??? __call__函數調用

??? __add__加運算

??? __sub__減運算

??? __mul__乘運算

??? __div__除運算

??? __mod__求余運算

??? __pow__稱方

?

?

class BaseClass: def __init__(self): self.name = 'BaseClass' print('BaseCalss: Constructor called') def getname(self): print('BaseCalss: self name equals ' + self.name) ? class DerivedClass(BaseClass): def __init__(self): super().__init__() print('DerivedClass: Constructor called') ? if __name__ == '__main__': class1 = BaseClass() class1.getname() class2 = DerivedClass() class2.getname()

運行結果:

BaseCalss: Constructor called BaseCalss: self name equals BaseClass BaseCalss: Constructor called DerivedClass: Constructor called BaseCalss: self name equals BaseClass

?

子類也可以overwrite父類的方法,那么父類的方法就不會被調用,除非手動調用:

class BaseClass: def __init__(self): self.name = 'BaseClass' print('BaseCalss: Constructor called') def getname(self): print('BaseCalss: self name equals ' + self.name) ? class DerivedClass(BaseClass): def __init__(self): super().__init__() print('DerivedClass: Constructor called') def getname(self): print('self.name init value is ' + self.name) self.name = 'DerivedClass' print('DerivedClass: self name equals ' + self.name) ? if __name__ == '__main__': class1 = BaseClass() class1.getname() class2 = DerivedClass() class2.getname()

?

運行結果:

BaseCalss: Constructor called?
BaseCalss: self name equals BaseClass?
BaseCalss: Constructor called?
DerivedClass: Constructor called?
self.name init value is BaseClass?
DerivedClass: self name equals DerivedClass

?

python不僅僅支持單繼承,還支持多繼承

? class BaseClass1:

def __init__(self): self.name1 = 'BaseClass1_Name1' self.name = 'BaseClass1_Name' print('BaseCalss1: Constructor called') def getname1(self): print('BaseCalss1: self name1 equals ' + self.name1) def getname(self): print('BaseCalss1: getname called, name equal ' + self.name) ? class BaseClass2: def __init__(self): self.name2 = 'BaseClass2_Name2' self.name = 'BaseClass2_Name' print('BaseClass2: Constructor called') def getname2(self): print('BaseClass2: self name2 equals ' + self.name2) def getname(self): print('BaseCalss2: getname called, name equal ' + self.name) ? class DerivedClass2(BaseClass1, BaseClass2): def __init__(self): BaseClass1.__init__(self) BaseClass2.__init__(self) print('DerivedClass: Constructor called') if __name__ == '__main__': class1 = BaseClass1() class1.getname1() class2 = BaseClass2() class2.getname2() class3 = DerivedClass2() class3.getname1() class3.getname2() class3.getname()

運行結果:

BaseCalss1: Constructor called?
BaseCalss1: self name1 equals BaseClass1_Name1?
BaseClass2: Constructor called?
BaseClass2: self name2 equals BaseClass2_Name2?
BaseCalss1: Constructor called?
BaseClass2: Constructor called?
DerivedClass: Constructor called?
BaseCalss1: self name1 equals BaseClass1_Name1?
BaseClass2: self name2 equals BaseClass2_Name2?
BaseCalss1: getname called, name equal BaseClass2_Name

?

轉載于:https://www.cnblogs.com/jnbb/p/8316273.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Day26的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。