亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

全面了解python中的類,對象,方法,屬性

Original 2017-01-16 13:56:18 395
abstrakt:python中一切皆為對象,所謂對象:我自己就是一個(gè)對象,我玩的電腦就是對象,坐著的椅子就是對象,家里養(yǎng)的小狗也是一個(gè)對象。。。。。。我們通過描述屬性(特征)和行為來描述一個(gè)對象的。比如家里的小狗,它的顏色,大小,年齡,體重等是它的屬性或特征。它會(huì)汪汪叫,會(huì)搖尾巴等是它的行為。我們在描述一個(gè)真實(shí)對象(物體)時(shí)包括兩個(gè)方面:它可以做什么(行為)它是什么樣的(屬性或特征)。在python中,一個(gè)對象的

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

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

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

它可以做什么(行為)

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

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

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


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

比如人類,動(dòng)物,植物等等,這些都是類的概念。

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

>>> class people:
 
...   def speak(self):
 
...       print ("hello!")
 
...
 
'''

定義一個(gè)people類,定義一個(gè)speak方法,但沒有定義屬性,

因?yàn)閷傩圆粚儆陬?,而是屬于各個(gè)類的實(shí)例。也就是說屬于對象。

因此我們可以給每個(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
 
'''

#初始化對象

創(chuàng)建類時(shí),可以定義一個(gè)特定的方法,名為__init__(),只要?jiǎng)?chuàng)建這個(gè)類的一個(gè)實(shí)例

就會(huì)運(yùn)行這個(gè)方法??梢韵騙_init__()方法傳遞參數(shù),

這樣創(chuàng)建對象時(shí)就可以把屬性設(shè)置為你希望的值

__init__()這個(gè)方法會(huì)在創(chuàng)建對象時(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è)類的對象時(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__()這個(gè)方法告訴python在打印(print)一個(gè)對象時(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è)對象實(shí)例,
speak()方法在被調(diào)用時(shí),必須知道是哪個(gè)對象調(diào)用了它.

這里self參數(shù)就會(huì)告訴方法是哪個(gè)對象來調(diào)用的.這稱為實(shí)例引用。
zhangsan。speak()就好比寫成了peo.speak(zhangsan)
'''

更多關(guān)于全面了解python中的類,對象,方法,屬性請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章! 

Versionshinweise

Beliebte Eintr?ge