海詩網(wǎng) 知識百科 python(python下載)

python(python下載)

python, python中class的用法是什么?不知道小伙伴們今天來看看邊肖的分享吧!

1.類別的定義和常用名稱:

類:用于描述具有相同屬性和方法的對象集合。它定義集合中每個(gè)對象共有的屬性和方法。

對象:它是一個(gè)類的實(shí)例化。

方法:引用類中定義的函數(shù)。

2.類對象支持兩種操作:

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

屬性引用的語法:obj。屬性

類實(shí)例化的語法:obj=類名()

調(diào)用類中的方法:obj。方法名稱()

python下載

3.例如:

例1

Class Students (Object): # Customize a class student.

Def speak(self): ##哪個(gè)對象調(diào)用這個(gè)方法,self就是那個(gè)對象;Self可以理解為一個(gè)形式參數(shù)。

Print (%s said: I am %s years old% (self.name, self.age))

John=student() # Class Student實(shí)例化一個(gè)對象John。

John.name=John #向?qū)ο筇砑訉傩?

john.age=19

John.speak() #調(diào)用類中的speak()方法。

此時(shí)的輸出是

約翰說:我今年19歲。

例2

Class student(object): #用init定義了一個(gè)構(gòu)造函數(shù),不同于自定義類。

Def _ _ init _ _ (self,n,a): # _ _ init _ _()是類的初始化方法;類實(shí)例化后會(huì)自動(dòng)調(diào)用,不需要手動(dòng)調(diào)用;

self.name=n

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

Def speak(self): #定義一個(gè)類中的公共方法。

Print (%s said: I am %s years old% (self.name, self.age))

John=student (john,19) # Class Student實(shí)例化一個(gè)對象John。

John.speak() #調(diào)用類中的speak()方法。

最終輸出與前面的示例相同。

在python中使用以_ _開頭,以_ _結(jié)尾的方法稱為魔法。

Init(self)是一個(gè)類的初始化方法,也稱為構(gòu)造方法,是一種特殊的魔法方法。Init(self)會(huì)在實(shí)例化后自動(dòng)調(diào)用,不需要手動(dòng)調(diào)用,所以屬性一般設(shè)置在_ init _ _();

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

python下載

4.類的繼承和super和self的使用:

子類繼承父類,也就是說,它擁有父類的屬性和方法。

python中類的初始化是__init__()。所以父類和子類的初始化方法是__init__()

但是如果子類在初始化的時(shí)候沒有這個(gè)函數(shù),它會(huì)調(diào)用父類的_ _ init _ _()函數(shù);(相應(yīng)的示例輸入1)

如果一個(gè)子類調(diào)用了父類的init,但是定義了自己的init,那么它會(huì)覆蓋父類的初始化函數(shù),只顯示子類本身的初始化。(相應(yīng)的示例輸入2)

Enter 1:

class Animal(object):

def __init__(self):

Self.name=我是父類。

class Panda(Animal):

def __init__(self):

超級()。__init__() #使用super顯示調(diào)用父類的__init__()函數(shù)。

超級(熊貓,自己)。__init__() #超級初始化的第二種方式

if __name__==__main__:

Panda=Panda() # Instantiate Panda

print(panda.name)

Output 1:

我是家長班。

Enter 2:

class Animal(object):

def __init__(self):

Self.name=我是父類。

class Panda(Animal):

def __init__(self):

super().__init__()

self.name=panda

if __name__==__main__:

panda=Panda()

print(panda.name)

Output 2:

panda

python下載

2.自我和超我的區(qū)別:

(1) self是在父類中不找的情況下第一個(gè)調(diào)用自己的方法;Super是直接從父類中找方法。

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

反正你要繼承父類,直接上super就行了。

Enter 3:

class Animal(object):

def __init__(self):

Self.name=我是父類。

Def A(self): #父類中的方法A

Print(父類的方法a)

class Panda(Animal):

def __init__(self):

super().__init__()

self.myname=panda

Def a (self):子類#中的方法A。

打印(子類的方法a)

def B(self):

Self. A () # self-call a

Super (). A () # super call a

if __name__==__main__:

panda=Panda()

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

output3:

子類的A方法#我們說過self是先從自身找方法,沒有再去父類找

父類的A方法#而super則是直接從父類中找

python,以上就是本文為您收集整理的python最新內(nèi)容,希望能幫到您!更多相關(guān)內(nèi)容歡迎關(guān)注。

本文來自網(wǎng)絡(luò),不代表海詩網(wǎng)立場,轉(zhuǎn)載請注明出處:http://x91880.com/n/169341.html
      

tws互聯(lián)是什么意思(tws串聯(lián)是什么意思)

發(fā)表回復(fù)
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時(shí)間:周一至周五,9:00-17:30,節(jié)假日休息

關(guān)注微信
微信掃一掃關(guān)注我們
微信掃一掃關(guān)注我們
關(guān)注微博
返回頂部