全面了解python中的類,物件,方法,屬性

2022-09-18 16:12:15 字數 3260 閱讀 9353

全面了解python中的類,物件,方法,屬性

python中一切皆為物件,所謂物件:我自己就是乙個物件,我玩的電腦就是物件,坐著的椅子就是物件,家裡養的小狗也是乙個物件。。。。。。

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

我們在描述乙個真實物件(物體)時包括兩個方面:

它可以做什麼(行為)

它是什麼樣的(屬性或特徵)。

在python中,乙個物件的特徵也稱為屬性(attribute)。它所具有的行為也稱為方法(method)

結論:物件=屬性 方法

在python中,把具有相同屬性和方法的物件歸為乙個類(class)

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

類是物件的模板或藍圖,類是物件的抽象化,物件是類的例項化。類不代表具體的事物,而物件表示具體的事物。

>>> class

people: 

... def

speak(self): 

... print ("hello!") 

...'''

定義乙個people類,定義乙個speak方法,但沒有定義屬性,

因為屬性不屬於類,而是屬於各個類的例項。也就是說屬於物件。

因此我們可以給每個例項設定不同的屬性

'''  

>>> class

people: #類  

... def

speak(self): #方法 

... print

("hello!") 

... 

>>> 

>>> jack =

people() #建立jack例項

>>> tom =

people() #建立tom例項

>>> import

tab #匯入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'''

#初始化物件

建立類時,可以定義乙個特定的方法,名為__init__(),只要建立這個類的乙個例項

就會執行這個方法。可以向__init__()方法傳遞引數,

這樣建立物件時就可以把屬性設定為你希望的值

__init__()這個方法會在建立物件時完成初始化,

'''>>> class peo:

... def

__init__(self,name,age,***):

... self.name = name

... self.age = age

... self.*** = ***

... def speak(self):

... print "my name" self.name

... 

>>> 

例項化這個類的物件時:

>>>

zhangsan=peo("zhangsan",24,'man')

>>> print

zhangsan.age

24>>> print

zhangsan.name

zhangsan

>>> print

zhangsan.***

man# ----------

>>> print

zhangsan

<__main__.peo instance at>

0x7fe5041ec248>

'''要讓print能列印出來,就得使用__str__方法

__str__()這個方法告訴python在列印(print)乙個物件時,具體顯示什麼內容

'''#! /usr/bin/python

class peo:

def __init__(self,name,age,***):

self.name =

name

self.age =

ageself.*** =

***def speak(self):

print "my

name" self.name

def __str__(self):

msg='my name

is: ' self.name "," "my age is: " self.age ',' "my *** is:"

self.***

# msg='my

name is: ' self.name "," "my age is: " str(self.age) ',' "my ***

is:" self.***

return

msgshanghai=peo('shanghai','23','man')

# shanghai=peo('shanghai',23,'man')

'''msg='my name is: ' self.name "," "my age is: " self.age ',' "my ***

is:" self.***

此處23是年齡,但被轉成了字串,因為self.age定義的是字串

如果不將23轉義,則會報錯

如果希望在程式中就事先轉義,需要使用str(self.age)

'''print shanghai

'''之前多次用到self這個形參

類就好比是一張藍圖,使用乙個類可以建立多個物件例項,

speak()方法在被呼叫時,必須知道是哪個物件呼叫了它.

這裡self引數就會告訴方法是哪個物件來呼叫的.這稱為例項引用。

zhangsan。speak()就好比寫成了peo.speak(zhangsan)

'''以上這篇全面了解python中的類,物件,方法,屬性就是小編分享給大家的全部內容了,希望能給大家乙個參考

全面了解python中的類,物件,方法,屬性

python中一切皆為物件,所謂物件 我自己就是乙個物件,我玩的電腦就是物件,坐著的椅子就是物件,家裡養的小狗也是乙個物件。我們通過描述屬性 特徵 和行為來描述乙個物件的。比如家裡的小狗,它的顏色,大小,年齡,體重等是它的屬性或特徵。它會汪汪叫,會搖尾巴等是它的行為。我們在描述乙個真實物件 物體 時...

python中類的全面分析(上)

物件導向重要的概念就是類 class 和例項 instance 類是抽象的模板,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。類 對具有相同資料和方法的一組物件的描述或定義。物件 物件是乙個類的例項。例項 instance 乙個物件的例項化實現。例項屬性...

全面了解MySql中的事務

為什麼要有事務?事務廣泛的運用於訂單系統 銀行系統等多種場景。如果有以下乙個場景 a使用者和b使用者是銀行的儲戶。現在a要給b轉賬500元。那麼需要做以下幾件事 1.檢查a500元 2.a賬戶扣除500元 3.b賬戶增加500元 正常的流程走下來,a賬戶扣了500,b賬戶加了500,皆大歡喜。那如果...