python全棧開發 day22 物件導向

2022-05-15 15:45:54 字數 1877 閱讀 7250

''''

1、面向過程程式設計

核心是"過程"二字,過程指的是解決問題的步驟,即先幹什麼再幹什麼

基於該思想編寫程式就好比在編寫一條流水線,是一種機械式的思維方式

​優點:複雜的問題流程化、進而簡單化

缺點:可擴充套件性差

​2、物件導向

核心"物件"二字,物件指的是特徵與技能的結合體,

基於該思想編寫程式就好比在創造乙個世界,你就是這個世界的上帝,是一種

上帝式的思維方式

​優點:可擴充套件性強

缺點:程式設計的複雜度高於面向過程

重點:物件導向的核心體現是將資料和處理資料的程式封裝到物件中

'''​

# 函式與方法:都是解決問題的功能

# 函式:通過函式名直接呼叫

# 方法:通過附屬者.語法來呼叫

​# 變數:通過變數名訪問變數值

# 屬性:通過附屬者.語法來訪問變數值

命名空間操作

# 所有能產生命名空間對應的物件(存放位址的變數)有__dict__值

​# __dict__指向的就是附屬物件的命名空間

import re

print(re.__dict__)

​re.__dict__['name'] = 're模組'

print(re.__dict__['name'])

​re.__dict__['action'] = lambda x: x

print(re.__dict__['action'](1000))​​

def fn():

pass

print(fn.__dict__)

​fn.name = 'fn函式'

print(fn.name)

​def test():

print("可以成為fn功能的函式")

fn.action = test

fn.action()

類與物件的概念

# 類:具有相同特徵與行為個體集合的抽象

# 物件:有特徵、行為的具體個體。就是類的具體體現

​# 區別:兩個人同時思考乙個名字,想到的一定是同乙個物體,就一定是物件,反之一定是類

語法

# 類的宣告:

'''class 類名: # class定義類語法的關鍵字

pass

'''​

# 物件的產生: 物件的例項化

'''物件1 = 類名()

物件2 = 類名()

物件3 = 類名()

'''​

# 類與物件都有自己獨立的命名空間,每乙個被例項化出來的物件,命名空間也是各自獨立

# 所以類與物件都能額外新增 屬性(變數) 和 方法(函式)

​# 重點:類一旦被載入(隨著所屬檔案的載入就載入),就會進入類的內部執行類中的所有**

物件查詢屬性的順序

class people:

# 類自帶(不同在外界額外新增)的屬性與方法

identify = '人類'

def sleep(self):

print('睡覺')

p1 = people()

p2 = people()

​p1.identify = '新人類'

print(p1.identify)  # 訪問自己的

p1.__dict__.clear()  # 刪除自己的後

print(p1.identify)  # 訪問類的

​print(p2.identify)  # p2沒有自己的,訪問類的

​# 重點:屬性的訪問順序:優先載入自身的名字,如果沒有再考慮類的

實習日記 Day22

今天是早起成功並且鍛鍊了的一天 然而 今天也是中午喝完咖啡就睏到趴下的一天 吐槽與接納 坦白講,我最近開始厭倦去找我 了 這種情緒的出現是為什麼呢?因為失望。我懷著求知和解決問題的心態去請教他,但是他常常跟我閒聊或者只講一些無關痛癢的內容。讓我覺得現在跟他學不到那麼多乾貨內容了,感覺自己沒什麼長進。...

每日演算法 day 22

那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.6 廣度優先搜尋 include include include includ...

Day 2 2 資料轉換

集合 set 例如 set variable 集合的屬性 1 集合是無序排列的 2 集合有去重功能 集合的方法 交集 差集 並集 補集 怎樣建立乙個空集合 只能用 set 方法建立,用 建立的是字典 字典 用鍵值對表示的集合 語法 dict var 字典中對鍵的要求 可雜湊的資料型別 資料型別 in...