目錄
面向對象編程介紹
面向對象編程(Object Oriented Programming,OOP,面向對象程序設計)
面向對象目的:將數據與函數綁定到一起,進行封裝,這樣能夠更快速的開發程序,減少了重複代碼的重寫過程
面向對象(object-oriented ;簡稱: OO) 至今還沒有統一的概念 這裏把它定義爲: 按人們 認識客觀世界的系統思維方式,採用基於對象(實體) 的概念建立模型,模擬客觀世界分析、設 計、實現軟件的辦法。面向對象編程(Object Oriented Programming-OOP) 是一種解決軟件複用的設計和編程方法。 這種方法把軟件系統中相近相似的操作邏輯和操作 應用數據、狀態,以類的型式描述出來,以對象實例的形式在軟件系統中複用,以達到提高軟件開發效率的作用。
class Cat:類
#屬性
#方法
def eat(self):
print("貓在吃魚....")
def drink(self):
print("貓正在喝kele.....")
#創建一個對象
tom = Cat()
類和對象
對象是面向對象編程的核心,在使用對象的過程中,爲了將具有共同特徵和行爲的一組對象抽象定義,提出了另外一個新的概念——類
類
類是抽象的,在使用的時候通常會找到這個類的一個具體的存在,使用這個具體的存在。一個類可以找到多個對象
對象
某一個具體事物的存在 ,在現實世界中可以是看得見摸得着的。可以是直接使用的
類和對象之間的關係
定義類
# 定義類
class Car:
# 方法
def getCarInfo(self):
print('車輪子個數:%d, 顏色%s'%(self.wheelNum, self.color))
def move(self):
print("車正在移動...")
創建對象
# 定義類
class Car:
# 移動
def move(self):
print('車在奔跑...')
# 鳴笛
def toot(self):
print("車在鳴笛...嘟嘟..")
# 創建一個對象,並用變量BMW來保存它的引用
BMW = Car()
BMW.color = '黑色'
BMW.wheelNum = 4 #輪子數量
BMW.move()
BMW.toot()
print(BMW.color)
print(BMW.wheelNum)
__init__()
方法
<1>使用方式
def 類名:
#初始化函數,用來完成一些默認的設定
def __init__():
pass
<2>__init__()
方法的調用
# 定義汽車類
class Car:
def __init__(self):
self.wheelNum = 4
self.color = '藍色'
def move(self):
print('車在跑,目標:夏威夷')
# 創建對象
BMW = Car()
print('車的顏色爲:%s'%BMW.color)
print('車輪胎數量爲:%d'%BMW.wheelNum)
self
- 所謂的self,可以理解爲自己
- 某個對象調用其方法時,python解釋器會把這個對象作爲第一個參數傳遞給self,所以開發者只需要傳遞後面的參數即可
class Cat:
#屬性
#方法
def eat(self):
print("貓在吃魚....")
def drink(self):
print("貓正在喝kele.....")
def introduce(self):
#print("%s的年齡是:%d"%(tom.name, tom.age))
print("%s的年齡是:%d"%(self.name, self.age))
結束:
面向過程編程最易被初學者接受,其往往用一長段代碼來實現指定功能,開發過程的思路是將數據與函數按照執行的邏輯順序組織在一起,數據與函數分開考慮。
作爲視頻替代者,我認爲各種視頻雖然經過精簡,但是還是冗餘囉嗦。如果需要認真學習,對應視頻講解鏈接:https://download.csdn.net/download/weixin_40651515/12376506
注:Python中函數參數是引用傳遞(注意不是值傳遞)。對於不可變類型,因變量不能修改,所以運算不會影響到變量自身;而對於可變類型來說,函數體中的運算有可能會更改傳入的參數變量。