考慮現實生活中,我們的思維方式是放在學生這個個人上,是學生做了自我介紹。而不是像我們剛剛寫出的**,先有了介紹的行為,再去看介紹了誰。
用我們的現實思維方式該怎麼用程式表達呢?
今天來學習一種新的程式設計方式:物件導向程式設計(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 ...