類的屬性和方法_第1頁(yè)
類的屬性和方法_第2頁(yè)
類的屬性和方法_第3頁(yè)
類的屬性和方法_第4頁(yè)
類的屬性和方法_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

類的屬性和方法Class<類名>(父類名):passClass 定義類的關(guān)鍵字;類名

符合類的關(guān)鍵字;類名

符合標(biāo)志符規(guī)范的名稱;父類名

該類繼承的父類名稱;Pass 空語(yǔ)句。例如:DefMyfunc()pass定義類2使用類ClassMyClass: #定義一個(gè)類

“MyClasshelp” #該類只有一個(gè)說(shuō)明信息,沒(méi)有具體語(yǔ)句myclass=MyClass() #將自定義類MyClass實(shí)例化,名稱為myclassPrint(‘輸出類說(shuō)明:’) Print(myclass._doc_) #輸出類實(shí)例myclass的屬性_doc_的值Help(myclass) #輸出類的幫助信息3類的屬性和方法類的方法類的方法實(shí)際上為類的能力建模,那么定義類的方法讓類具有一定的能動(dòng)性。在類外部調(diào)用該類的方法就可以完成相應(yīng)的功能,或改變類的狀態(tài),或達(dá)到其他目的。類中的方法定義和調(diào)用與函數(shù)定義和調(diào)用的方式基本相同,其區(qū)別有:方法的第一個(gè)參數(shù)必須是self,而且不能省略;方法的調(diào)用需要實(shí)例化類,并以實(shí)例名、方法名(參數(shù)列表)形式調(diào)用;整體進(jìn)行一個(gè)單位的縮進(jìn),表示其屬于類體中的內(nèi)容。4類的方法#類的方法使用classSmplClass:#定義一個(gè)類SmplClassdefinfo(self):#定義一個(gè)類的方法info()print('我定義的類!')defmycacl(self,x,y):#定義一個(gè)類的方法mycacl()returnx+ysc=SmplClass()#實(shí)例化類SmplClass()print('調(diào)用info方法的結(jié)果:')()print('調(diào)用mycacl方法的結(jié)果:')print(sc.mycacl(3,4))#其中調(diào)用類實(shí)例sc的mycacl()方法5構(gòu)造函數(shù):__init__的使用#構(gòu)造函數(shù)__init__的使用classDemoInit:def__init__(self,x,y=0):#定義構(gòu)造方法,具有兩個(gè)初始化

self.x=xself.y=ydefmycacl(self):#定義應(yīng)用初始化數(shù)據(jù)的方法

returnself.x+self.ydia=DemoInit(3)#用一個(gè)參數(shù)實(shí)例化類print('調(diào)用mycacl方法的結(jié)果1:')print(dia.mycacl())dib=DemoInit(3,7)#調(diào)用兩個(gè)參數(shù)實(shí)例化類print('調(diào)用mycacl方法的結(jié)果2:')print(dib.mycacl())6類也是對(duì)象在理解元類之前,你需要先掌握Python中的類。Python中類的概念借鑒于Smalltalk,這顯得有些奇特。在大多數(shù)編程語(yǔ)言中,類就是一組用來(lái)描述如何生成一個(gè)對(duì)象的代碼段。在Python中這一點(diǎn)仍然成立:>>>classObjectCreator(object): pass>>>my_object=ObjectCreator()>>>print(my_object)<__main__.ObjectCreatorobjectat0x0000028013B36278>但是,Python中的類還遠(yuǎn)不止如此。類同樣也是一種對(duì)象。是的,沒(méi)錯(cuò),就是對(duì)象。只要你使用關(guān)鍵字class,Python解釋器在執(zhí)行的時(shí)候就會(huì)創(chuàng)建一個(gè)對(duì)象。下面的代碼段:>>>

class

ObjectCreator(object):…

pass…7將在內(nèi)存中創(chuàng)建一個(gè)對(duì)象,名字就是ObjectCreator。這個(gè)對(duì)象(類)自身?yè)碛袆?chuàng)建對(duì)象(類實(shí)例)的能力,而這就是為什么它是一個(gè)類的原因。但是,它的本質(zhì)仍然是一個(gè)對(duì)象,于是乎你可以對(duì)它做如下的操作:1)

你可以將它賦值給一個(gè)變量2)

你可以拷貝它3)

你可以為它增加屬性4)

你可以將它作為函數(shù)參數(shù)進(jìn)行傳遞下面是示例:>>>

print

ObjectCreator

#

你可以打印一個(gè)類,因?yàn)樗鋵?shí)也是一個(gè)對(duì)象>>>

def

echo(o):…

print

o…>>>

echo(ObjectCreator)

#

你可以將類做為參數(shù)傳給函數(shù)>>>

print

(hasattr(ObjectCreator,

‘new_attribute’))Fasle8>>>

ObjectCreator.new_attribute

=

'foo'

#

你可以為類增加屬性>>>

print

hasattr(ObjectCreator,

'new_attribute')True>>>

print

ObjectCreator.new_attributefoo>>>

ObjectCreatorMirror

=

ObjectCreator

#

你可以將類賦值給一個(gè)變量>>>

print

ObjectCreatorMirror()<__main__.objectcreator

object=""

at=""

0x8997b4c="">9動(dòng)態(tài)地創(chuàng)建類因?yàn)轭愐彩菍?duì)象,你可以在運(yùn)行時(shí)動(dòng)態(tài)的創(chuàng)建它們,就像其他任何對(duì)象一樣。首先,你可以在函數(shù)中創(chuàng)建類,使用class關(guān)鍵字即可。def

choose_class(name):…

if

name

==

'foo':…

class

Foo(object):…

pass…

return

Foo

#

返回的是類,不是類的實(shí)例…

else:…

class

Bar(object):…

pass…

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論