类和对象:给大家介绍对象
生活随笔
收集整理的這篇文章主要介紹了
类和对象:给大家介绍对象
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
class person:#屬性age = 20name = "guojawee"#方法def show(self): #函數(shù)的第一個參數(shù)必須是selfprint("年齡 = %d" %self.age) #屬性前必須加selfprint("名字 = %s" %self.name)p = person() #定義一個對象
p.show()注解:self相當于C++中的this指針----------------------------------------------對象 = 屬性+方法封裝
繼承
多態(tài):不同對象對同一方法,響應不同的行動----------------------------------------------
name mangling 名字改變,名字重整
在Python中定義私有變量只需要在變量名或函數(shù)名前加上兩個下劃線__, 那么變量或函數(shù)就會成為私有的了。__變量名 改編成 _類名__變量名繼承
class 子類(父類):... ... 調(diào)用未綁定的方法 使用super游戲:鯊魚吃魚小魚:金魚Goldfish,鯉魚Carp,三文魚Salmon, 鯊魚:Sharkimport random as rclass fish:def __init__(self):self.x = r.randint(0,10) #生成坐標self.y = r.randint(0,10)def move(self):self.x -= 1print("位置:" , self.x , self.y)class Goldfish(fish):passclass Carp(fish):passclass Salmon(fish):passclass Shark(fish):def __init__(self):#fish.__init__(self) #fish.__init__(Shark) #非綁定的繼承super().__init__() #綁定的繼承self.hungry = Truedef eat(self):if self.hungry:print("我餓了,我要吃東西...")else:print("撐死了,吃不下了...")組合
一個水池類,里邊有烏龜和各種魚 class Turtle:def __init__(self,x):self.num = xclass Fish:def __init__(self,y):self.num = yclass pool:def __init__(self,num1,num2): #利用組合self.Turtle = Turtle(num1)self.Fish = Fish(num2)def print_num(self):print("水池中,有烏龜%d只,魚%d條" %(self.Turtle.num,self.Fish.num))p = pool(1,2) p.print_num() #水池中,有烏龜1只,魚2條[說明]組合的使用規(guī)則:假設B類想組合A類,那么在B類的構造函數(shù)中,直接實例化A類的對象即可。綁 定
Python嚴格要求方法需要有實力才能被調(diào)用,這種限制其實 就是Python所謂的綁定。一些相關的BIF
issubclass(class,classinfo) isinstance(object,classinfo)hasattr(object,name) 測試一個對象object中是否有name屬性 getattr(object,name[,default]) 獲得對象object指定屬性name的值 setattr(object,name,value) 沒有就新建一個屬性name,并設值為value delattr(object,name)property(fget=None,fset=None,fdel=None,doc=None)屬性設置屬性 《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的类和对象:给大家介绍对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV统计米粒数目-计算联通区域的
- 下一篇: 类的魔法方法