''''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...