python物件導向 定義類和例項化物件的概念

2021-10-23 19:19:48 字數 3437 閱讀 8528

類就是一系列物件相似的特徵與技能的結合體

物件就是特徵與技能的結合體

python中的物件,乙個物件的特徵稱為「屬性」,乙個物件的行為稱為「方法」。
如果我們把學生用類表示

class

student

: school =

'學校'

deflearn

(self)

:print

('學生會學習'

)def

eat(self)

:print

('學生會吃飯'

)def

sleep

(self)

:print

('學生會睡覺'

)

class

student

: school =

'學校'

deflearn

(self)

:print

('學生會學習'

)def

eat(self)

:print

('學生會吃飯'

)def

sleep

(self)

:print

('學生會睡覺'

) t1 = student(

)

ok,接下來只需要呼叫物件裡的方法即可,是用點操作符號:

>>

>t1.sleep(

)學生會睡覺

>>

>t1.learn(

)學生會 學習

學生是student這個類例項化出來的,那麼每個人都有共同的三個技能,吃飯學習睡覺,但是他們的年齡性別等是不一樣的,我們就需要給每個學生定義,用__init__

class

student

: school =

'學校'

def__init__

(self, name, ***, age)

: self.name = name

self.*** = ***

self.age = age

deflearn

(self)

:print

('學生會學習'

)def

eat(self)

:print

('學生會吃飯'

)def

sleep

(self)

:print

('學生會睡覺'

)

這個時候我們再呼叫例項化物件就不能像上面一樣,而是需要給他三個位置引數

>>

>stu1 = student(

'張三'

,'女',18

)>>

>

print

(stu1.__dict__)

#在檢視物件的命名空間,發現我們成功建立了乙個張三的女學生

那麼__init__的作用就是給物件定製物件自己獨有的特徵,那我們下一步就是訪問他們相似的特徵和技能

class

student

: school=

'職通'

def__init__

(self,name,***,age)

: self.name=name

self.***=***

self.age=age

deflearn

(self)

:print

('%s is learning '

%(self.name)

)def

eat(self)

:print

('%s is sleeping'

%self.name)

stu1=student(

'張三'

,'女',18

)# 會觸發init方法的執行 定製stu1的私有特徵

stu2=student(

'李四'

,'男',38

)stu3=student(

'王五'

,'男',48

)>>

>

print

(stu1.__dict__)

>>

>

print

(stu2.__dict__)

>>

>

print

(stu3.__dict__)

我們現在建立了三個物件 都有各種獨有的特徵,單獨乙個物件都是特徵和技能的結合體

那麼我們現在三個物件都還應該有的相似的特徵與相似的技能的結合體

相似的特徵與相似的技能的結合體存在**?類裡面

>>

>stu1.learn(

)>>

>stu2.learn(

)>>

>stu3.learn(

)張三 is learning

李四 is learning

王五 is learning

那這個說明了我們觸發到student下learn這個功能,而learn需要傳遞引數,但是使用物件的話卻不需要傳參

屬性查詢

如果類和物件特徵裡都有重名,那我們查到的是哪個裡面的呢

class

student

:def

__init__

(self,name,***,age)

: self.name=name

self.***=***

self.age=age

deflearn

(self)

:pass

defeat

(self)

:pass

stu1=student(

'張三'

,'女',18

)# 會觸發init方法的執行 定製stu1的私有特徵

stu1.x=

'from stu1'

#我們分別再物件和類裡面 增加乙個x變數

student.x=

'from student class'

>>

>

print

(stu1.__dict__)

>>

>

print

(stu1.x)

from stu1

#物件訪問屬性的時候會先再自己物件裡面去找,沒有的話再去類裡面去找

(python物件導向基礎)定義類和建立物件

定義乙個類,格式如下 class 類名 方法列表 demo 定義乙個car類 定義類 class car 方法 defgetcarinfo self print 車輪子個數 d,顏色 s self.wheelnum,self.color defmove self print 車正在移動.說明 上面定...

python物件導向 類的定義和使用

定義類 在 python 中,類的定義使用 class 關鍵字來實現,語法如下 class 類名 幫助資訊 類體classname 用於指定類名,一般使用大寫字母開頭,如果類名中包括兩個單詞,第二個單詞的首字母也大寫,這種命名方法也稱為 駝峰式命名法 類的幫助資訊 用於指定類的文件字串,定義該字串後...

python物件導向(類和物件)

物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...