Python學習 初識類與物件

2021-10-03 10:57:31 字數 2819 閱讀 3253

python中類和物件的概念

python中的函式和普通函式的對比

python類語法的初識

一、python中類和物件的概念

我們把一類相同的事物叫做類,其中用相同的屬性(其實就是變數)描述,裡面封裝了相同的方法。比如,汽車是乙個類,它包括**、品牌等屬性。倘若要實現列印100種車的屬性的功能,那麼可以用函式實現,也可以用類來實現。

#####函式實現

defcarinfo

(type

,price)

:print

("the car's type %s,price:%d"%(

type

,price)

)carinfo(

'passat'

,250000

)carinfo(

'ford'

,280000

)######類實現

class

car:

def__init__

(self,

type

,price)

: self.

type

=type

self.price = price

defprintcarinfo

(self)

:print

("the car's info in class:type %s,price:%d"

%(self.

type

,self.price)

)passat = car(

'passat'

,250000

)ford = car(

'ford'

,250000

)passat.printcarinfo(

)ford.printcarinfo(

)

這說明了什麼呢?其實類能實現的功能,函式幾乎都可以實現,我們都知道c語言中也是沒有物件的,但是它還是很膩害的寫出了linux作業系統!!!知道了這一點,我們就知道,類是讓我們的程式錦上添花的產物,並沒那麼可怕。

現在來先認識一下類:

上述例子中,「car」就是「類」,表示「車」這一類事物,它有很多屬性,比如型號、**等等。而passat和ford都是車的一種,它是具體的,有固定的品牌和**,然而等號左邊的passat是car的乙個物件,ford是car的另乙個物件。

二、python中的函式和普通函式的對比

類中的函式稱之為方法。

從上述例子中,類能實現的功能我們用函式也完全可以實現,但是我們可以看到他們的實現方式是不同的,現在我們就逐一對比一下。先上圖!

兩者的差別在哪呢?

1.我們看到兩個方法的縮排不同,printcarinfo這個方法是被包裹在car這個類裡面的

2.兩個函式的引數是不同的,carinfo方法很直接的傳了cartype和price這兩個引數,而在printcarinfo方法中只傳遞了乙個self。這也直接導致了後面在函式中使用變數的時候也是不同的。

三、python類語法的初識

使用類中的方法

carinfo中的方法我們都知道是什麼了,那麼printcarinfo裡面傳遞的這個『self』是個什麼呢?

在這個方法的定義中,形參self必不可少,還必須位於其他形參的前面。每個與類相關聯的方法呼叫都自動傳遞實參self,它是乙個指向例項本身的引用,讓例項能夠訪問類中的屬性和方法。當我們使用passat這個物件去呼叫printcarinfo這個方法的時候,其實是做了這樣一部操作printcarinfo(passat),把passat這個物件傳給了printcarinfo方法,passat這個物件又包含了兩個屬性cartype、price,我們在python規定這樣使用乙個物件中的變數:passat.cartype、passat.price。我們呼叫函式時傳的passat物件的引數passat.cartype、passat.price被類中printcarinfo函式以self的身份接收,所以我們在使用引數的時候自然就變成了self.cartype、self.price。

類的初始化

passat = car(

'passat'

,250000)

ford = car(

'ford'

,250000)

其實這兩句話每句話都完成了兩個功能:第一,從car類中例項化出了乙個物件——passat/ford;第二:給新物件的屬性賦了值。其實passat = car(『passat』,25000)還可以寫成這樣:

類中方法的定義和使用

從圖中很明顯就可以看出,carinfo中的引數在printcarinfo方法中的換成了self,在方法的呼叫中,就是用self.屬性名來呼叫了。

再來看方法的呼叫,普通函式的呼叫直接呼叫就可以了,而類中的函式呼叫之前應該先進行類的例項化——建立乙個物件,然後給這個物件的屬性賦值,然後才可以呼叫類中的方法,呼叫方式是 物件名.方法名()。

今天就到此結束啦!

參考部落格:

初識python中的類與物件

在生活中,我們走在路邊,看到一輛車,大腦中首先想到的是 這是一輛車,然後才是這是一輛什麼牌子的車 在這裡,我們就用到了程式設計中的類的概念。同樣的,看到一條小狗,也會先想到這是一條狗,然後會想到這是一條什麼品種的狗。在程式設計中,把同一類的事物叫做類,把這個類裡所共有的特徵總結歸納並定義出來,就是類...

C 初識類與物件

在c 中,結構體不僅可以定義變數時也可以定義函式。同樣的結構體c 中,將會用class代替struct class student 類的兩中定義方式 1.宣告和定義都在類體中 class student private int age char name 20 char gender 3 2.宣告放...

物件導向之初識類與物件

在一片蒼茫的草地上生活著一群無憂無慮的小豬,他們有著粉粉嫩嫩或者黑不溜秋的 圓圓的鼻孔 大大的耳朵,非常惹人喜愛。定睛一看,有的豬正在舒適的窩裡睡覺,有的正在夕陽下奔跑 國產的豬就是勤快 有的正為豬生大事而在談戀愛。那麼問題來了,這跟類和物件有什麼關係呢?對,你可能猜到了,我們將這群小豬抽象成為豬類...