一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python類、對象、方法、屬性之類與對象筆記

 會飛的蘑菇 2015-02-27

python中一切皆為對象,所謂對象:我自己就是一個對象,我玩的電腦就是對象,坐著的椅子就是對象,家里養(yǎng)的小狗也是一個對象。。。。。。

 

我們通過描述屬性(特征)和行為來描述一個對象的。比如家里的小狗,它的顏色,大小,年齡,體重等是它的屬性或特征。它會汪汪叫,會搖尾巴等是它的行為。

我們在描述一個真實(shí)對象(物體)時包括兩個方面:

它可以做什么(行為)

它是什么樣的(屬性或特征)。

 

python中,一個對象的特征也稱為屬性(attribute)。它所具有的行為也稱為方法(method

結(jié)論:對象=屬性+方法

 

python中,把具有相同屬性和方法的對象歸為一個類(class

比如人類,動物,植物等等,這些都是類的概念。

 

類是對象的模板或藍(lán)圖,類是對象的抽象化,對象是類的實(shí)例化。類不代表具體的事物,而對象表示具體的事物。

 

>>> class people:

...     def speak(self):

...             print ("hello!")

...

'''
定義一個people類,定義一個speak方法,但沒有定義屬性,
因?yàn)閷傩圆粚儆陬?,而是屬于各個類的實(shí)例。也就是說屬于對象。
因此我們可以給每個實(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.<tab鍵>,可以看到以下方法
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)建這個類的一個實(shí)例
就會運(yùn)行這個方法??梢韵騙_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
...
>>>
實(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能打印出來,就得使用__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)成了字符串,因?yàn)閟elf.Age定義的是字符串
    如果不將23轉(zhuǎn)義,則會報錯
    如果希望在程序中就事先轉(zhuǎn)義,需要使用str(self.Age)
'''
print shanghai

'''
之前多次用到self這個形參
類就好比是一張藍(lán)圖,使用一個類可以創(chuàng)建多個對象實(shí)例,
speak()方法在被調(diào)用時,必須知道是哪個對象調(diào)用了它.
    這里self參數(shù)就會告訴方法是哪個對象來調(diào)用的.這稱為實(shí)例引用。
zhangsan。speak()就好比寫成了peo.speak(zhangsan)
'''

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品老司机视频在线观看| 亚洲国产av精品一区二区| 高清不卡视频在线观看| 欧美一区二区三区五月婷婷| 中文字幕人妻日本一区二区| 精品综合欧美一区二区三区| 欧美精品一区久久精品| 国产毛片av一区二区三区小说| 中文字幕一区二区三区大片| 久久99午夜福利视频| 成人综合网视频在线观看| 亚洲中文字幕高清乱码毛片| 日本特黄特色大片免费观看| 大香蕉久草网一区二区三区| 欧美一区日韩一区日韩一区| 国产精品福利一级久久| 欧美日韩精品视频在线| 成人日韩在线播放视频| 国产在线日韩精品欧美| 日本黄色录像韩国黄色录像| 国产成人av在线免播放观看av| 丁香六月婷婷基地伊人| 免费国产成人性生活生活片| 黄色三级日本在线观看| 亚洲妇女黄色三级视频| 国产精品免费视频视频| 欧美亚洲另类久久久精品| 美国女大兵激情豪放视频播放| 欧美激情床戏一区二区三| 日本一二三区不卡免费| 日韩欧美一区二区黄色| 国产精品久久精品国产| 国产精品免费无遮挡不卡视频| 在线中文字幕亚洲欧美一区| 91欧美一区二区三区成人| 日韩欧美一区二区黄色| 成人精品视频一区二区在线观看| 亚洲一区二区欧美在线| 日韩一级毛一欧美一级乱| 色婷婷成人精品综合一区| 国产亚洲精品久久久优势|