最新文章專(zhuān)題視頻專(zhuān)題關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
丑橘八月份有賣(mài)的嗎 java quartz 為什么我的qq突然有了小世界 python endswith 八點(diǎn)半跑不跑下一句 vue父組件向子組件傳遞數(shù)據(jù) 興才勵(lì)志成長(zhǎng)基地是干什么的 安可電腦和普通電腦的區(qū)別 python bytes 北轍南轅手碟音樂(lè)叫什么 vue獲取url參數(shù) 貝雷帽的缺點(diǎn) toto是什么牌子 js 打開(kāi)新窗口 我解開(kāi)蝴蝶結(jié)是什么歌 python xlwt 河北有哪些大學(xué) 個(gè)人超話(huà)是什么意思 藍(lán)牙耳機(jī)默認(rèn)音量過(guò)大 臺(tái)州旅游必去十大景點(diǎn) python for 循環(huán) 萬(wàn)水是干什么用的 java calendar類(lèi) tws互聯(lián)是什么意思 mysql date類(lèi)型 python os.walk idea 配置maven tenderjinger什么品牌 primer是隔離霜嗎 python os.path.join mysql datetime格式 plesiosaurus是什么恐龍 node環(huán)境變量配置 bone隱藏含義 多邊形套索工具怎么結(jié)束 mysql date函數(shù) 侏儒工程學(xué)任務(wù)流程 69-29等于幾 50+36等于幾 1951年春提出什么推陳出新
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

python class用法理解

來(lái)源:懂視網(wǎng) 責(zé)編:李贏贏 時(shí)間:2021-12-25 16:57:48
文檔

python class用法理解

class的定義及常用稱(chēng)呼:類(lèi)(Class):用來(lái)描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象:它是類(lèi)的實(shí)例化。方法:指類(lèi)中定義的函數(shù)。
推薦度:
導(dǎo)讀class的定義及常用稱(chēng)呼:類(lèi)(Class):用來(lái)描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象:它是類(lèi)的實(shí)例化。方法:指類(lèi)中定義的函數(shù)。

python中class用法是什么呢?不知道的小伙伴來(lái)看看小編今天的分享吧!

1、class的定義及常用稱(chēng)呼:

類(lèi)(Class): 用來(lái)描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。

對(duì)象:它是類(lèi)的實(shí)例化。

方法:指類(lèi)中定義的函數(shù)。

2、類(lèi)對(duì)象支持兩種操作:

屬性引用和實(shí)例化。

屬性引用的語(yǔ)法:obj.屬性

類(lèi)實(shí)例化的語(yǔ)法:obj = 類(lèi)名()

類(lèi)中方法的調(diào)用:obj.方法名()

3、舉例:

例1

class student(object):    #自定義一個(gè)類(lèi)student

def speak(self):  ## 哪個(gè)對(duì)象調(diào)用了這個(gè)方法,self就是那個(gè)對(duì)象;可以把self理解為一個(gè)形參

print("%s 說(shuō):我今年%s歲" % (self.name, self.age))

john = student()   #類(lèi)student 實(shí)例化一個(gè)對(duì)象john

john.name = "約翰"   # 給對(duì)象添加屬性

john.age = 19

john.speak()  # 調(diào)用類(lèi)中的 speak()方法

此時(shí)的輸出為

約翰 說(shuō):我今年19歲

例2

class student(object):         # 定義構(gòu)造方法  有init,有別于自定義類(lèi)

def __init__(self, n, a):  #__init__() 是類(lèi)的初始化方法;它在類(lèi)的實(shí)例化操作后 會(huì)自動(dòng)調(diào)用,不需要手動(dòng)調(diào)用;

self.name = n

self.age = a   # 設(shè)置屬性

def speak(self):   # 定義類(lèi)中的普通方法

print("%s 說(shuō):我今年%s歲" % (self.name, self.age))

john = student("約翰",19)   #類(lèi)student 實(shí)例化一個(gè)對(duì)象john

john.speak()   # 調(diào)用類(lèi)中的 speak()方法

最后的輸出同上個(gè)例子

在python中使用__開(kāi)頭 并以__結(jié)尾的方法,稱(chēng)之為魔法方法;

init(self) 是類(lèi)的初始化方法,也稱(chēng)構(gòu)造方法,是一種特殊的魔法方法; init(self)在實(shí)例化后,會(huì)自動(dòng)調(diào)用,而不用手動(dòng)調(diào)用,所以一般把屬性設(shè)置在_init__()里;

常用到的魔法方法還有:str(self) 、 del(self)等。

4、類(lèi)的繼承以及super,self的使用:

子類(lèi)繼承父類(lèi),即子類(lèi)擁有了父類(lèi)的屬性和方法。

python中類(lèi)的初始化都是__init__()。所以父類(lèi)和子類(lèi)的初始化方式都是__init__()

但是如果子類(lèi)初始化時(shí)沒(méi)有這個(gè)函數(shù),那么它便調(diào)用父類(lèi)的__init__();(對(duì)應(yīng)例input1)

如果子類(lèi)種調(diào)用了父類(lèi)的init,但自己又定義了自己的init,那么就會(huì)覆蓋父類(lèi)的初始化函數(shù),只顯示子類(lèi)自己的初始化。(對(duì)應(yīng)例input2)

input1:

class Animal(object):

def __init__(self):

self.name = "我是父類(lèi)"

class Panda(Animal):

def __init__(self):

super().__init__()             #使用super的方式來(lái)顯示調(diào)用父類(lèi)的__init__()函數(shù)

super(Panda, self).__init__()  # 第二種super初始化的方式

if __name__=="__main__":

panda = Panda() #實(shí)例化Panda

print(panda.name)

output1:

我是父類(lèi)

input2:

class Animal(object):

def __init__(self):

self.name = "我是父類(lèi)"

class Panda(Animal):

def __init__(self):

super().__init__()

self.name = "panda"

if __name__=="__main__":

panda = Panda()

print(panda.name)

output2:

panda

2. self和super的區(qū)別:

(1) self是首先調(diào)用自身的方法如果自身沒(méi)有再去父類(lèi)中找;super是直接從父類(lèi)中找方法

(2)self是類(lèi)(可以理解為形參),super是預(yù)編譯指令

反正要繼承父類(lèi),直接上super就ok了

input3:

class Animal(object):

def __init__(self):

self.name = "我是父類(lèi)" 

def A(self):     #父類(lèi)中的A方法

print("父類(lèi)的A方法")

class Panda(Animal):

def __init__(self):

super().__init__()

self.myname = "panda"

def A(self):     #子類(lèi)中的A方法

print("子類(lèi)的A方法")

def B(self):

self.A()  #self調(diào)用A

super().A()  #super調(diào)用A

if __name__=="__main__":

panda = Panda()

panda.B()   #通過(guò)B函數(shù)來(lái)調(diào)用A方法,查看self和super的區(qū)別

output3:

子類(lèi)的A方法 #我們說(shuō)過(guò)self是先從自身找方法,沒(méi)有再去父類(lèi)找

父類(lèi)的A方法 #而super則是直接從父類(lèi)中找

以上就是小編今天的分享了,希望可以幫助到大家。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文檔

python class用法理解

class的定義及常用稱(chēng)呼:類(lèi)(Class):用來(lái)描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象:它是類(lèi)的實(shí)例化。方法:指類(lèi)中定義的函數(shù)。
推薦度:
標(biāo)簽: python class
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題丑橘八月份有賣(mài)的嗎丑橘八月份有賣(mài)的嗎專(zhuān)題java quartzjava quartz專(zhuān)題為什么我的qq突然有了小世界為什么我的qq突然有了小世界專(zhuān)題python endswithpython endswith專(zhuān)題八點(diǎn)半跑不跑下一句八點(diǎn)半跑不跑下一句專(zhuān)題vue父組件向子組件傳遞數(shù)據(jù)vue父組件向子組件傳遞數(shù)據(jù)專(zhuān)題興才勵(lì)志成長(zhǎng)基地是干什么的興才勵(lì)志成長(zhǎng)基地是干什么的專(zhuān)題安可電腦和普通電腦的區(qū)別安可電腦和普通電腦的區(qū)別專(zhuān)題python bytespython bytes專(zhuān)題北轍南轅手碟音樂(lè)叫什么北轍南轅手碟音樂(lè)叫什么專(zhuān)題vue獲取url參數(shù)vue獲取url參數(shù)專(zhuān)題貝雷帽的缺點(diǎn)貝雷帽的缺點(diǎn)專(zhuān)題toto是什么牌子toto是什么牌子專(zhuān)題js 打開(kāi)新窗口js 打開(kāi)新窗口專(zhuān)題我解開(kāi)蝴蝶結(jié)是什么歌我解開(kāi)蝴蝶結(jié)是什么歌專(zhuān)題python xlwtpython xlwt專(zhuān)題河北有哪些大學(xué)河北有哪些大學(xué)專(zhuān)題個(gè)人超話(huà)是什么意思個(gè)人超話(huà)是什么意思專(zhuān)題藍(lán)牙耳機(jī)默認(rèn)音量過(guò)大藍(lán)牙耳機(jī)默認(rèn)音量過(guò)大專(zhuān)題臺(tái)州旅游必去十大景點(diǎn)臺(tái)州旅游必去十大景點(diǎn)專(zhuān)題帶王的網(wǎng)名昵稱(chēng)大全帶王的網(wǎng)名昵稱(chēng)大全專(zhuān)題endnote20使用教程endnote20使用教程專(zhuān)題姜黃飲料有哪些姜黃飲料有哪些專(zhuān)題耳機(jī)聲音小音量已經(jīng)是最大了耳機(jī)聲音小音量已經(jīng)是最大了專(zhuān)題標(biāo)題可以有標(biāo)點(diǎn)符號(hào)嗎標(biāo)題可以有標(biāo)點(diǎn)符號(hào)嗎專(zhuān)題特約正揚(yáng)是什么平臺(tái)特約正揚(yáng)是什么平臺(tái)專(zhuān)題js regexpjs regexp專(zhuān)題java returnjava return專(zhuān)題js argumentsjs arguments專(zhuān)題夢(mèng)幻新誅仙山海苑后院在哪夢(mèng)幻新誅仙山海苑后院在哪專(zhuān)題python調(diào)用class專(zhuān)題class如何使用 python專(zhuān)題python class的調(diào)用專(zhuān)題python 中class專(zhuān)題python外部參數(shù)專(zhuān)題python open參數(shù)專(zhuān)題python中的self參數(shù)專(zhuān)題pythonclass類(lèi)專(zhuān)題python中digits專(zhuān)題python類(lèi)中self專(zhuān)題python hook實(shí)例專(zhuān)題python #define專(zhuān)題python類(lèi)中的self專(zhuān)題python 遍歷 字典專(zhuān)題python class 參數(shù)專(zhuān)題python中@staticmethod專(zhuān)題python3 class專(zhuān)題python collections.deque專(zhuān)題python 導(dǎo)入class專(zhuān)題python with as用法專(zhuān)題
Top