日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python面向?qū)ο?/h1>
系統(tǒng) 2057 0

面向?qū)ο箢?

定義類

在python中,將具有相同屬性和方法的對象歸為一個類,在使用類之前,首先得創(chuàng)建類
類創(chuàng)建的語法:

            
              class 類名:
	語句

            
          

類的用法

類只有在實(shí)例化才能使用,類的調(diào)用和函數(shù)的調(diào)用差不多,用類名()就可以實(shí)例化類

類對象

類實(shí)例化就生成了一個對象,它支持兩種操作

  1. 屬性的引用
  2. 實(shí)例化

類方法

定義類的方法和定義函數(shù)差不多,區(qū)別如下:

  1. 方法的第一個參數(shù)必須是self,而且不能省略
  2. 方法的調(diào)用必須先實(shí)例化該類,用實(shí)例名.方法名(參數(shù))來調(diào)用

構(gòu)造方法

構(gòu)造函數(shù)就是類實(shí)例化初始化數(shù)據(jù), init ()方法就是構(gòu)造方法

            
              class person:
	"""人類"""
	def __init__(self,name,age):
		"""初始化名字和年齡"""
		self.name=name
		self.age=age
	def talking(self):
		print(self.name.title()+"叫了你一聲")
	def playball(self):
		print(str(self.age)+"的"+self.name+"正在打球")

            
          

python面向?qū)ο骭第1張圖片

類可以創(chuàng)建多個實(shí)例,通過 實(shí)例名=類() 來創(chuàng)建的,類就是一個抽象的具有相同屬性,功能的模板,可以創(chuàng)建很多實(shí)例

私有方法

python中私有屬性,方法,完全取決于它的名字,名字 以__開始 的就是私有屬性或者方法,當(dāng)類的內(nèi)部調(diào)用用 . 來調(diào)用私有屬性
私有函數(shù),屬性,方法有以下特點(diǎn):

  1. 私有函數(shù)不可以被它的 模塊外部調(diào)用
  2. 私有方法不能從 類的外部 調(diào)用
  3. 私有屬性不能從 類的外部被訪問

析構(gòu)方法

python中析構(gòu)方法是__del__(),當(dāng)調(diào)用del()內(nèi)置對象刪除是會調(diào)用它本身的析構(gòu)函數(shù)__del__(),當(dāng)某個對象調(diào)用完畢后,也會調(diào)用一次析構(gòu)函數(shù)來釋放資源,例如:下面是我對堆和棧的理解,再加上類的析構(gòu)函數(shù), 希望多多指教
小朋友手上只能抓住三個氣球,他拿著三個氣球。氣球本身就是一個對象,而手上的線就是對象的引用,當(dāng)小朋友放開手中的線,那么對象就沒有得到引用,氣球就飛掉了,就是小朋友手中少抓了一個氣球,小朋友可以輕松一點(diǎn),也就是我們說的釋放資源,自己調(diào)用了__del__()對象

靜態(tài)方法和類方法

  1. 實(shí)例方法:隱含調(diào)用的參數(shù)是類的實(shí)例
  2. 類方法:隱含調(diào)用的參數(shù)是類,定義類方法使用 裝飾器@classmethod 必須有默認(rèn)參數(shù)cls
  3. 靜態(tài)方法:沒有隱含調(diào)用參數(shù),定義靜態(tài)方法使用 修飾符@staticmethod 進(jìn)行修飾,沒有默認(rèn)參數(shù)

在調(diào)用類方法和靜態(tài)方法時,可以使用 類名進(jìn)行調(diào)用 ,在調(diào)用前無須實(shí)例化,也 可以通過實(shí)例來進(jìn)行調(diào)用

類的專有方法

  1. new ():是在實(shí)例創(chuàng)建之前被調(diào)用的,用于創(chuàng)建實(shí)例
  2. init ():構(gòu)造函數(shù),在生成實(shí)例之后調(diào)用
  3. del ():析構(gòu)函數(shù),在釋放資源時調(diào)用
  4. repr ():打印,轉(zhuǎn)換
  5. setitem ():按照索引賦值
  6. getitem ():按照索引獲取值
  7. len ():獲得長度
  8. cmp ():比較運(yùn)算
  9. call ():函數(shù)調(diào)用
  10. add ():加運(yùn)算
  11. sub ():減運(yùn)算
  12. mul ():乘運(yùn)算
  13. div ():除運(yùn)算
  14. mod ():求余運(yùn)算
  15. pow ():乘法

類屬性

在類中將屬性分為實(shí)例屬性和類屬性

  1. 實(shí)例屬性:同一個類的不同實(shí)例,值沒有關(guān)聯(lián),使用self.屬性定義和調(diào)用
  2. 類屬性: 同一個類所有實(shí)例共用的 ,在類中獨(dú)立定義,使用類名.類變量名引用,只要一個實(shí)例發(fā)生改變其他實(shí)例也會發(fā)生改變

修改屬性值

python中有兩種方法來修改屬性值:

  1. 直接通過實(shí)例來修改

    實(shí)例.屬性=值

  2. 通過自定義方法修改

    通過自定義更新值,自定義增加值來修改值

私有屬性

私有屬性通過__屬性名定義的,只能類內(nèi)部訪問,類外部訪問會提示找不到相關(guān)屬性或者方法

嚴(yán)格意義上來說在類的外面也可以調(diào)用私有屬性,只是難以處理,python中沒有真正的私有

繼承

類的繼承是新建的類獲取已有的類的屬性,方法,變量等,繼承的類可以稱為派生類或者子類,被繼承的類稱為基類或者父類

定義子類

            
              class 子類(父類):
	語句

            
          

多繼承

子類可以獲取父類的特性,子類可以繼承多個父類用 隔開,比如父類的方法名一樣,那么按順序繼承
子類調(diào)用父類的方法可以用super()函數(shù)

            
              多繼承
class 子類(父類,父類):
	語句

            
          
            
              子類方法:
	super().方法

            
          

子類也可以定義自己的屬性和方法,子類也可以被繼承,父類的私有屬性和方法不能被繼承,但是可以被子類重寫

            
              class a:
	def __init()__(self,name):
		self.__name=”小包“
		self.age=18
class b(a):
	def sayname(self):
		print (self.__name)
X=b()
X.sayname()

            
          

方法重寫

就是方法名和父類的方法名一樣,就可以把父類的方法改成子類的方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 榆林市| 巴马| 万安县| 胶南市| 黔东| 元江| 原平市| 张家港市| 利津县| 无锡市| 宽甸| 广宁县| 南乐县| 梨树县| 丹凤县| 郁南县| 临泉县| 改则县| 建阳市| 松桃| 万年县| 田阳县| 根河市| 金秀| 广灵县| 会昌县| 拉孜县| 唐山市| 江都市| 平罗县| 湟中县| 九台市| 稷山县| 峨边| 桑植县| 宜都市| 象山县| 喀喇沁旗| SHOW| 波密县| 新绛县|