趣味解讀Python物件導向程式設計 類和物件

2021-10-09 20:37:34 字數 3578 閱讀 8321

考慮現實生活中,我們的思維方式是放在學生這個個人上,是學生做了自我介紹。而不是像我們剛剛寫出的**,先有了介紹的行為,再去看介紹了誰。

用我們的現實思維方式該怎麼用程式表達呢?

今天來學習一種新的程式設計方式:物件導向程式設計(object oriented programming,oop,物件導向程式設計)。

物件導向程式設計的2個非常重要的概念:類和物件。

物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念——類。

類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件。

物以類聚,人以群分。 具有相似內部狀態和運動規律的實體的集合(或統稱為抽象)。 具有相同屬性和行為事物的統稱。

類是抽象的,在使用的時候通常會找到這個類的乙個具體的存在,使用這個具體的存在,乙個類可以找到多個物件。

某乙個具體事物的存在 ,在現實世界中可以是看得見摸得著的。可以是直接使用的。

小總結:類就是建立物件的模板。

賓士smart 類 張三的那輛賓士smart 物件 水果 類 蘋果 類 紅蘋果 類 紅富士蘋果 類 我嘴裡吃了一半的蘋果 物件

類(class) 由3個部分構成

舉例:1)人類設計,只關心3樣東西:

2)狗類的設計

如何把日常生活中的事物抽象成程式中的類?

擁有相同(或者類似)屬性和行為的物件都可以抽像出乙個類。

方法:一般名詞都是類(名詞提煉法)

<1> 坦克發射3顆炮彈轟掉了2架飛機

<2> 小明在公車上牽著一條叼著熱狗的狗

<3>【想一想】如下圖中,有哪些類呢?

說明:

<4>【想一想】如下圖中,有哪些類呢?

說明:

定義乙個類,格式如下:

class 類名:

方法列表

demo:定義乙個cat類

# 定義類

class cat:

# 方法

def eat(self):

print("貓在吃魚....")

def drink(self):

print("貓在喝可樂...")

說明:

python中,可以根據已經定義的類去建立出乙個個物件。

建立物件的格式為:

物件名 = 類名()
建立物件demo:

# 定義乙個類

class cat:

# 屬性

# 方法

def eat(self):

print("貓在吃魚....")

def drink(self):

print("貓在喝可樂...")

# 根據類,建立乙個物件

tom = cat()

class cat:

# 屬性

# 方法

def eat(self):

print("貓在吃魚....")

def drink(self):

print("貓在喝可樂...")

# 建立了乙個物件

tom = cat()

tom.eat() # 呼叫物件的eat方法

tom.drink()

執行結果,如圖所示:

4. 給物件新增屬性

class cat:

# 屬性

# 方法

def eat(self):

print("貓在吃魚....")

def drink(self):

print("貓在喝可樂...")

# 建立了乙個物件

tom = cat()

# 給物件tom新增了乙個屬性,叫name,裡面的值是"湯姆"

tom.name = "湯姆"

# 給物件tom新增了乙個屬性,叫age,裡面的值是30

tom.age = 30

# 呼叫tom的方法

tom.eat()

tom.drink()

print(tom.name)

print(tom.age)

執行結果,如圖所示:

5. 通過方法獲取物件屬性。

class cat:

# 屬性

# 方法

def eat(self):

print("貓在吃魚....")

def drink(self):

print("貓在喝可樂...")

def introduce(self):

# print("名字是:%s, 年齡是:%d" % (湯姆的名字, 湯姆的年齡))

print("名字是:%s, 年齡是:%d" % (tom.name, tom.age))

# 建立了乙個物件

tom = cat()

# 給物件tom新增了乙個屬性,叫name,裡面的值是"湯姆"

tom.name = "湯姆"

tom.age = 30

# 呼叫tom的方法

tom.eat()

tom.drink()

# 直接通過物件獲取其屬性

print(tom.name)

print(tom.age)

print("-"*30)

# 呼叫tom的方法,在其方法中獲取它的屬性

tom.introduce()

執行結果,如圖所示:

四、總結

本文以生活中的基礎現象為切入點,主要介紹了python的物件導向基礎知識,用豐富的案例幫助大家更好的去了解物件,最後以乙隻貓作為小專案,使用python程式語言,方便大家增加對類和物件的認識,希望對大家的學習有幫助。 想學習更多python網路爬蟲與資料探勘知識,大家可前往專業**: 想學習更多python網路爬蟲與資料探勘知識,可前往專業**:

Python學習筆記 6 高階函式 物件導向程式設計

什麼是高階函式?高階函式英文叫higher order function。什麼是高階函式?我們從實際 一步一步深入概念。以內建函式max 為例吧 max 1,5,4 5 max in function max x max 1,5,4 x 5可見,max 1,5,4 是函式呼叫,而max是函式本身,要...

python網編 通過物件導向開啟子程序

直接上 import osfrom multiprocessing import process class myprocess process 這裡建立乙個類 繼承process def run self 必須寫乙個run方法 print os.getpid if name main p mypr...

python入門 P37類和物件 物件導向程式設計

class相當於房子圖紙,每個物件是參照圖紙建立的實際的房子,self相當於每一棟房子的門牌號,在下面這段 裡,每個物件都是呼叫了自己那棟房子裡的方法,就是因為self tips 在方法裡,self必須是第乙個 class build def setname self,name self.name ...