python基礎進階1.6:面向對象之類,對象及__init__(),self相關用法講解

目錄

面向對象編程介紹

類和對象

對象

類和對象之間的關係

定義類

創建對象

__init__()方法

<1>使用方式

<2>__init__()方法的調用

self

結束:

面向對象編程介紹

面向對象編程(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中函數參數是引用傳遞(注意不是值傳遞)。對於不可變類型,因變量不能修改,所以運算不會影響到變量自身;而對於可變類型來說,函數體中的運算有可能會更改傳入的參數變量。
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章