全面了解python中的類,對象,方法,屬性
python中一切皆為對象,所謂對象:我自己就是一個對象,我玩的電腦就是對象,坐著的椅子就是對象,家里養(yǎng)的小狗也是一個對象。。。。。。
我們通過描述屬性(特征)和行為來描述一個對象的。比如家里的小狗,它的顏色,大小,年齡,體重等是它的屬性或特征。它會汪汪叫,會搖尾巴等是它的行為。
我們在描述一個真實對象(物體)時包括兩個方面:
它可以做什么(行為)
它是什么樣的(屬性或特征)。
在python中,一個對象的特征也稱為屬性(attribute)。它所具有的行為也稱為方法(method)
結(jié)論:對象=屬性+方法
在python中,把具有相同屬性和方法的對象歸為一個類(class)
比如人類,動物,植物等等,這些都是類的概念。
類是對象的模板或藍(lán)圖,類是對象的抽象化,對象是類的實例化。類不代表具體的事物,而對象表示具體的事物。
>>> class people:
... def speak(self):
... print ("hello!")
...
'''
定義一個people類,定義一個speak方法,但沒有定義屬性,
因為屬性不屬于類,而是屬于各個類的實例。也就是說屬于對象。
因此我們可以給每個實例設(shè)置不同的屬性
'''
>>> class people: #類
... def speak(self): #方法
... print ("hello!")
...
>>>
>>> jack = people() #創(chuàng)建jack實例
>>> tom = people() #創(chuàng)建tom實例
>>> 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
'''
#初始化對象
創(chuàng)建類時,可以定義一個特定的方法,名為__init__(),只要創(chuàng)建這個類的一個實例
就會運行這個方法??梢韵騙_init__()方法傳遞參數(shù),
這樣創(chuàng)建對象時就可以把屬性設(shè)置為你希望的值
__init__()這個方法會在創(chuàng)建對象時完成初始化,
'''
>>> 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
...
>>>
實例化這個類的對象時:
>>> 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能打印出來,就得使用__str__方法
__str__()這個方法告訴python在打印(print)一個對象時,具體顯示什么內(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)成了字符串,因為self.Age定義的是字符串
如果不將23轉(zhuǎn)義,則會報錯
如果希望在程序中就事先轉(zhuǎn)義,需要使用str(self.Age)
'''
print shanghai
'''
之前多次用到self這個形參
類就好比是一張藍(lán)圖,使用一個類可以創(chuàng)建多個對象實例,
speak()方法在被調(diào)用時,必須知道是哪個對象調(diào)用了它.
這里self參數(shù)就會告訴方法是哪個對象來調(diào)用的.這稱為實例引用。
zhangsan。speak()就好比寫成了peo.speak(zhangsan)
'''
以上這篇全面了解python中的類,對象,方法,屬性就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python畫圖時設(shè)置分辨率和畫布大小的實現(xiàn)(plt.figure())
這篇文章主要介紹了python畫圖時設(shè)置分辨率和畫布大小的實現(xiàn)(plt.figure()),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
python學(xué)生管理系統(tǒng)的實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了python學(xué)生管理系統(tǒng)的實現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04
scrapy redis配置文件setting參數(shù)詳解
這篇文章主要介紹了scrapy redis配置文件setting參數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python+Socket實現(xiàn)基于UDP協(xié)議的局域網(wǎng)廣播功能示例
這篇文章主要介紹了Python+Socket實現(xiàn)基于UDP協(xié)議的局域網(wǎng)廣播功能,結(jié)合實例形式分析了Python+socket實現(xiàn)UDP協(xié)議廣播的客戶端與服務(wù)器端功能相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Python3實現(xiàn)發(fā)送QQ郵件功能(html)
這篇文章主要為大家詳細(xì)介紹了Python3實現(xiàn)發(fā)送QQ郵件功能,html格式的qq郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Pandas sample隨機(jī)抽樣的實現(xiàn)
隨機(jī)抽樣,是統(tǒng)計學(xué)中常用的一種方法,本文主要介紹了Pandas sample隨機(jī)抽樣的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
Python中在腳本中引用其他文件函數(shù)的實現(xiàn)方法
下面小編就為大家?guī)硪黄狿ython中在腳本中引用其他文件函數(shù)的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06

