python 中一切皆為對(duì)象,所謂對(duì)象:我自己就是一個(gè)對(duì)象,我玩的電腦就是對(duì)象,坐著的椅子就是對(duì)象,家里養(yǎng)的小狗也是一個(gè)對(duì)象。。。。。。
我們通過(guò)描述屬性(特征)和行為來(lái)描述一個(gè)對(duì)象的。比如家里的小狗,它的顏色,大小,年齡,體重等是它的屬性或特征。它會(huì)汪汪叫,會(huì)搖尾巴等是它的行為。
我們?cè)诿枋鲆粋€(gè)真實(shí)對(duì)象(物體)時(shí)包括兩個(gè)方面:
它可以做什么(行為)
它是什么樣的(屬性或特征)。
在 python 中,一個(gè)對(duì)象的特征也稱為屬性( attribute )。它所具有的行為也稱為方法( method )
結(jié)論:對(duì)象 = 屬性 + 方法
在 python 中,把具有相同屬性和方法的對(duì)象歸為一個(gè)類( class )
比如人類,動(dòng)物,植物等等,這些都是類的概念。
類是對(duì)象的模板或藍(lán)圖,類是對(duì)象的抽象化,對(duì)象是類的實(shí)例化。類不代表具體的事物,而對(duì)象表示具體的事物。
>>> class people: ... def speak(self): ... print ("hello!") ... '''
定義一個(gè)people類,定義一個(gè)speak方法,但沒(méi)有定義屬性,
因?yàn)閷傩圆粚儆陬?,而是屬于各個(gè)類的實(shí)例。也就是說(shuō)屬于對(duì)象。
因此我們可以給每個(gè)實(shí)例設(shè)置不同的屬性
''' >>> class people: #類 ... def speak(self): #方法 ... print ("hello!") ... >>> >>> jack = people() #創(chuàng)建jack實(shí)例 >>> tom = people() #創(chuàng)建tom實(shí)例 >>> import tab #導(dǎo)入table鍵功能模塊 >>> jack. #輸入jack.,可以看到以下方法 jack.__class__ jack.__doc__ jack.__module__ jack.speak( >>> jack.speak() #引用speak方法 hello! >>> jack.age=39 #添加age屬性 >>> jack.height=120 #添加height屬性 >>> jack. jack.__class__ jack.__module__ jack.height jack.__doc__ jack.age jack.speak( >>> jack.height 120 >>> jack.age 39 '''
#初始化對(duì)象
創(chuàng)建類時(shí),可以定義一個(gè)特定的方法,名為_(kāi)_init__(),只要?jiǎng)?chuàng)建這個(gè)類的一個(gè)實(shí)例
就會(huì)運(yùn)行這個(gè)方法??梢韵騙_init__()方法傳遞參數(shù),
這樣創(chuàng)建對(duì)象時(shí)就可以把屬性設(shè)置為你希望的值
__init__()這個(gè)方法會(huì)在創(chuàng)建對(duì)象時(shí)完成初始化,
''' >>> class peo: ... def __init__(self,name,age,sex): ... self.Name = name ... self.Age = age ... self.Sex = sex ... def speak(self): ... print "my name" + self.Name ... >>> 實(shí)例化這個(gè)類的對(duì)象時(shí): >>> zhangsan=peo("zhangsan",24,'man') >>> print zhangsan.Age 24 >>> print zhangsan.Name zhangsan >>> print zhangsan.Sex man # ---------- >>> print zhangsan <__main__.peo instance at 0x7fe5041ec248> '''
要讓print能打印出來(lái),就得使用__str__方法
__str__()這個(gè)方法告訴python在打印(print)一個(gè)對(duì)象時(shí),具體顯示什么內(nèi)容
''' #! /usr/bin/python class peo: def __init__(self,name,age,sex): self.Name = name self.Age = age self.Sex = sex def speak(self): print "my name" + self.Name def __str__(self): msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex # msg='my name is: ' +self.Name+ ","+ "my age is: " + str(self.Age) +','+ "my sex is:" +self.Sex return msg shanghai=peo('shanghai','23','man') # shanghai=peo('shanghai',23,'man') ''' msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex
此處23是年齡,但被轉(zhuǎn)成了字符串,因?yàn)閟elf.Age定義的是字符串
如果不將23轉(zhuǎn)義,則會(huì)報(bào)錯(cuò)
如果希望在程序中就事先轉(zhuǎn)義,需要使用str(self.Age)
'''
print shanghai
'''
之前多次用到self這個(gè)形參
類就好比是一張藍(lán)圖,使用一個(gè)類可以創(chuàng)建多個(gè)對(duì)象實(shí)例,
speak()方法在被調(diào)用時(shí),必須知道是哪個(gè)對(duì)象調(diào)用了它.
這里self參數(shù)就會(huì)告訴方法是哪個(gè)對(duì)象來(lái)調(diào)用的.這稱為實(shí)例引用。
zhangsan。speak()就好比寫(xiě)成了peo.speak(zhangsan)
'''
以上這篇全面了解python中的類,對(duì)象,方法,屬性就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
