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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python-类的基本知识

發布時間:2024/7/19 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python-类的基本知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#類的基本知識 #類對象的優點:多態,封裝,繼承#多態 from random import choice s=['A',"B","C","D"] ch=choice(s)#從列表中隨機選擇元素,并返回 print(ch)#例:序列中的count函數為多態函數,不管時字符串類型還是列表類型,都可以使用該函數 #很多函數和運算符都是多態的,不需要確定對象的具體類型#封裝:是指向程序中的其他部分隱藏對象的具體實現細節的原則#繼承:子類,超類(基類) #class語句會在函數定義的地方創建自己的命名空間 _metaclass_=type#確定使用新式類,可以通過type(對象)來查看實例對象所屬的類class People:def getName(self):#self參數為對象自身的引用return self.namedef setName(self,name):self.name=namedef Print(self):print("Hello world! I'm %s."%self.name) person=People() person.setName("Li") print(person.getName()) person.Print()person.name='Wang' print(person.getName()) person.Print()#上述self參數:方法將它們的參數判定到所屬的實例上,因此無需顯示提供,方法和普通函數可以互相綁定,如下; def Prints():print("function Prins") person.Print=Prints#函數綁定不能加括號 person.Print()func=person.Print#通過變量引用類方法,實際上func還是綁定到了對象上,因為該方法訪問了自身#默認情況下,可以在外部訪問對象的特性,可以通過在方法或特性的名字前面加雙下劃線可以變為私有的 class stu:def __getId(self):print("you can't see id!")def Myget(self):self.__getId(self) st=stu() st._stu__getId()#實際上雙下劃線被解釋為單下劃線加加類名加私有方法,即這樣可以訪問#from module import *:不會導入前面有下劃線的名字class stuff:num=0#在類的作用域定義了一個可供所用實例訪問的變量def init(self):stuff.num+=1 x=stuff() x.init() print(x.num) y=stuff() y.init() print(y.num) #上述x,y操作了同一個變量,但可以將某個實例的該變量重新綁定到其他值上,而屏蔽類范圍內的變量#超類:在類定義的類名后的圓括號里指定多個該類的超類,子類可以擴展超類的定義 class Others:def Output(x=None):print("others data!") class shape:def init(self):self.block=[]def getdata(self,data):return [x for x in data if x not in self.block] class rect(shape,Others):#多重繼承,若shape,Others有同名方法,則shape的方法可用,而Others的該方法被重寫(使其不可訪問)def init(self):self.block=['A']sh=shape() sh.init() print(sh.getdata([1,2,3]))r=rect() r.init() r.Output() print(r.getdata(['A','b','c']))#使用內建函數issubclass(x,y)函數可以查看一個類x是不是另一個類y的子類,返回布爾值 print(issubclass(rect,shape))print(rect.__bases__)#使用__base__或__bases__特性可以查看類的基類print(isinstance(r,rect))#使用函數isinstance(x,y)檢查x是否為類y的(間接)實例,返回布爾值print(r.__class__)#使用__class__特性檢查一個對象屬于哪個類

運行結果:

?

?

總結

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

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