python 基礎知識 物件導向 介紹

2021-08-21 17:51:06 字數 4800 閱讀 1158

朋友-> 數量少!

-> 朋友越來越多,好朋友、普通朋友、一般朋友..

-> 朋友逐漸增加,閨蜜、知己、藍顏、紅顏...

-> 分類

人-> 認識世界

周圍的事情簡單(上小學,交作業)-> 乙個乙個記憶

周圍的事情-複雜(上大學、貸款)-> 做事情的步驟

周圍的事情-極度複雜(生活-進入社會)-> 思考[三思而後行]

**->還原過程

簡單的**操作-> 基礎語法,堆疊功能[變數、資料型別、運算、if、while]

函式式程式設計-> 將所有要處理的事情,開始封裝成具備一定處理功能的函式,呼叫執行:

面向過程程式設計:面向~設身處地換位思考--面向過程

開發人員~當你在完成這件事情時需要按照什麼樣的步驟進行操作

將這樣的操作步驟封裝在函式中,通過函式可以呼叫執行

這樣的開發操作~**中封裝了大量的包含處理步驟的函式——面向過程程式設計

適合中小型專案開發;大型專案開發[**的邏輯處理方式不夠成熟,導致**高耦合!]

物件導向程式設計-> 對面向過程程式設計的補充和完善

通過物件和物件之間的互動協作完成專案功能的開發

物件導向:面向:

物件:還原生活場景:

你和你的閨蜜:開了一家公司~ 小賣鋪!正常營業?[中小型專案]

進貨-> 擺貨-> 上架-> 售賣-> 售後!

每天的任務:兩個人商量當前的操作步驟即可!

你和你的閨蜜->公司公升級-> 上市-> 分公司[25家]

董事長、總裁

1家總公司、25家分公司[大型專案]

董事長[收錢]-> 總裁[裁人]-> 分公司總經理[分配|匯報]

-> 部分經理[分配]-> 部分主管[分配]

-> 員工組長[監督、幹活]-> 員工[幹活]

生活:大型生活場景|大型專案:需要大量的人員分工協作,共同完成上市公司的運營

**:大型專案開發|,需要大量的[型別、函式]物件分工寫作,共同完成專案功能的開發

物件導向程式設計:將專案中需要的各種資料型別、功能封裝成物件、函式

通過對向、函式之間的相互協作,完成功能開發。

物件導向:快速入門:hello world!

人->吃飯睡覺打豆豆【生活場景】

通過物件導向進行開發[認識物件導向的程式開發]

宣告定義型別

-> 建立物件

-> 物件有自己的特徵(名詞|變數)[姓名]

-> 物件有自己的行為(動詞|函式->方法)[吃飯、睡覺、打豆豆]

--------------------------------------

物件導向:萬物皆物件

物件:型別、特徵、行為

生活中~各種物件那麼多?人是怎麼認知這些物件?

分門別類:按照大量事物的外觀特徵和行為操作,將不同的事物分成不同的型別,方便區分

型別  vs  事物  什麼關係?

型別:是乙個名稱、是乙個概念、是乙個稱呼;

是從大量有相似外觀特徵和相似行為的事物中抽象出來的

如:車、人、美女、衣服、鞋子、電腦、桌子、凳子..

型別: 資料型別的簡稱!自定義資料型別

事物:是某種型別具體存在的,有具體特徵的、有具體行為的物體!

屬於某種型別的-> 屬於某種資料型別的

有具體的外觀特徵

有具體的行為操作

如:張三\身高176\體重88\吃飯睡覺串門

王老三\身高155\體重86\吃飯睡覺串隔壁

生活:型別和事物

型別是事物抽象出來的乙個稱呼/概念

事物是屬於某種型別的乙個具體存在的物體

物件導向:**體現

型別   vs    物件

1.型別:**中可以通過class關鍵字,自定義乙個資料型別

(1)資料型別:簡稱型別:簡稱類-> 自定義資料型別-> 自定義 類

(2)基本語法:

class 型別名稱:

型別中的**

(3)型別名稱命名規範:見名知意、駝峰命名法[乙個或者多個英文單詞組成、每個單詞首字母大寫]

(4)型別:通過專案中需要的大量有相似特徵和行為的物件,抽象出來的乙個資料型別

2.物件:

物件:有具體特徵和行為操作的事物

**:有具體(特徵)屬性和(行為)方法的物件-> 事物

3. 型別  vs   物件   區別?

型別:通過物件抽象出來的乙個資料型別

型別中需要定義物件需要的特徵[屬性|變數]和行為[方法]

class person:

# 定義屬性、特徵

# 固定寫法:在__init__方法中,定義型別的屬性

def __init__(self, name, age, gender):

self.name = name

self.age = age

self.gender = gender

# 定義方法、行為

def eat(self, food):

print("吃飯了")

注意1:class 關鍵字,用來宣告定義乙個型別,固定寫法

注意2:型別中的所有函式,第乙個引數self表示當前物件,類似生活中的乙個名詞:我

注意3:型別中的函式,必須稱為方法;

函式  vs  方法 : 兩個東西

方法是一種特殊的函式,只能在型別中使用!

注意4:型別中方法,第乙個引數:指代的是當前物件~~~一般被宣告為self

表示當前物件,呼叫的時候不需要傳遞資料給self!

物件:某中型別乙個具體存在的事物

**中的物件,需要通過型別來建立

如:tom = person('湯姆', 18, '男')

通過 型別名稱() 的方式建立物件

建立物件時,自動呼叫執行__init__()方法,將物件需要的資料傳遞過去

有了物件,就可以執行物件的行為:呼叫物件的方法

通過 物件的變數.方法()直接呼叫

tom.eat("魚香肉絲")

1. 類和物件

類:型別的簡稱,資料型別的簡稱;

是一堆具有共同屬性和相似行為的物件的抽象

是乙個概念、乙個稱呼、乙個型別

物件:一種型別有具體資料的實體[實際存在的物體];

是某種型別下乙個有具體特徵資料和操作方法的 實體物件

物件有具體的資料!

2. 類的宣告定義

通過class 關鍵字進行定義

----------------------------------

class 資料型別名稱:

型別中的**

example:

# 建立乙個person型別

class person:

pass

----------------------------------

3. 物件的建立和使用

建立物件

變數 = 型別名稱()

tom = person()

tom:變數,儲存了person()物件的記憶體位址

--物件的引用變數【變數中存放的是可以引用到物件的記憶體位址】

使用物件:直接通過變數操作物件

print(type(tom))-->

1. 型別的宣告

通過class 關鍵字直接宣告定義乙個自定義型別

語法:class 資料型別名稱:

pass

2. 型別:專門用來建立物件

建立物件:包含具體資料的實體

語法:變數 = 資料型別()

物件是有特徵的,專案需要這樣的特徵,就定義它,如果不需要就忽略它!

語法:物件的特徵~是需要在型別中定義的!

在通過型別建立物件時,才會給具體的特徵賦值

給物件的特徵賦值,固定語法:在__init__()函式中操作

class author:

# 給物件的特徵賦值,在__init__()中進行操作

def __init__(self, username, password, nickname):

self.username = username

self.password = password

self.nickname = nickname

python中通過型別建立物件[a = author()]會自動呼叫__init__()方法

建立物件a = author()-> author.__new__()方法建立物件

-> author.__init__()方法初始化資料

-> 得到乙個author物件

在python中,有一種特殊的函式:魔法函式

每個魔法函式有一些特定的功能,方法名稱都是固定的

魔法函式的命名規則:函式的前後各有兩個下劃線!

物件的行為:物件的方法:就是乙個普通函式的公升級

將乙個函式,定義在型別的內部,第乙個引數~設定為可以接受物件的引數:self

class author:

# 定義乙個行為:個人介紹

def introduction(self):

print("個人介紹.........")

注意:方法和函式的最大的區別:第乙個引數可以隱式接受當前物件作為實際引數

方法是定義在型別的內部的!

方法的呼叫必須通過物件的引用變數呼叫

函式中的任何形式引數,在呼叫的時候都需要明確的傳遞資料

函式是定在在型別的外部的!

函式的呼叫直接通過函式名稱呼叫

呼叫執行方法:類似與呼叫執行函式

# 方法的呼叫執行:必須通過物件的引用變數進行呼叫!

author = author()

author.introduction()

致歉通告:最近在忙專案好久沒更新了,專案忙完會抓緊更新的

Python基礎知識 物件導向

物件導向英文單詞 object oriented 簡稱 o o 物件導向的學習 物件導向的語法學習 簡單,靠記憶就行,比較多 物件導向的思想學習 稍微有點難度,主要是前期不太適應 物件導向的優勢 能夠實現良好的程式結構,方便程式的開發和管理維護 效率 執行效率 計算機 物件導向效率不如過程化的快 開...

Java基礎知識 物件導向2

b 構造方法格式特點 b 構造方法注意事項 b 構造方法 構造方法 成員方法 b 給成員變數賦值 c 輸出成員變數值的方式 構造方法,get set 方法,以及乙個顯示所有成員資訊的方法。並測試。b 畫圖演示 舉例 d 可以通過類名呼叫 b 案例演示 b 靜態方法只能訪問靜態的成員變數和靜態的成員方...

python知識 物件導向程式設計

class person def init self,name self.name name p1 person xiao ming p2 person wang wu 在python中,類通過class關鍵字定義。以person為例,定義乙個person類如下 class person objec...