Python第三周之物件導向之深刻學習

來源:互聯網
上載者:User

標籤:全域   lam   lob   依賴   內聚   區分大小寫   元組   ota   turn   

函數

名字 

  命名方法(官方方法,駝峰命名法)

  命名原則:1.由數字,底線和字母組成,且不能由數字開頭。

       2.不能命名關鍵字

       3.區分大小寫,大寫為常量

參數 

  預設值

  可變參數   * args

def say_hello(*args):    print(args)def main():    a_list = [1, 2, 3, 4, 5, ‘zhangli‘, 24]    say_hello(*a_list)if __name__ == ‘__main__‘:    main()

 

  關鍵字參數  **kwargs

def say_hello(**kwargs):    print(kwargs)def main():    a_set = {‘name‘: ‘zhangli‘,‘age‘: 24, ‘sex‘: ‘female‘}    say_hello(**a_set)if __name__ == ‘__main__‘:    main()

 

  命名關鍵字參數  *

def foo(a, b, c, *, name, age):    print(a+b+c)    print(name, ‘:‘, age)def main():    foo(1, 2, 3, name=‘zhang‘, age=24)if __name__ == ‘__main__‘:    main()

 

傳回值

  對象

  字串

  元組

  集合

 

嵌套函數

  高階函數 函數裡面再次調用函數

# 通過向函數中傳入函數,可以寫出更通用的代碼
# calc函數中的第二個參數是另一個函數,他代表了一個二元運算
# 所以calc函數變得通用性更強,可以由傳入的第二個參數來決定到底做什麼
# 高內聚, 低耦合 high cohesion low coupling
def calc(my_list, op):    total = my_list[0]    for index in range(1, len(my_list)):        total = op(total, my_list[index])    return totaldef add(x, y):    return x + ydef mul(x, y):    return x * ydef main():    my_list = [1, 3, 5, 7, 9]    print(calc(my_list, add))    print(calc(my_list, mul))if __name__ == ‘__main__‘:    main()

  # 裝飾器

def record(fn):    def wrapper(*args, **kwargs):        print(‘準備執行%s函數之前...‘ % fn.__name__)        print(args)        print(kwargs)        # 此行代碼在執行被裝飾的函數        # 在這行代碼的前後我們可以附加其他的代碼        # 這些代碼可以讓我們在執行函數時做一些額外的工作        val = fn(*args, **kwargs)        print(‘%s函數執行完成‘ % fn.__name__)        return val    return wrapper# 通過修飾器修飾f函數,讓f函數在執行時,可以進行更多的操作@record  # 合二為一def f(n):    if n == 0 or n == 1:        return 1    return n * f(n-1)if __name__ == ‘__main__‘:    print(f(5))# 裝飾器 讓我們看出函數裡面到底發生了什麼。

  lambda函數 (匿名函數)-- 此函數極短,故簡寫,直接寫在放參數的括弧裡

  閉包

  偏函數

  柯裡化

範圍

  局部範圍

  嵌套範圍

  全域範圍

  內建範圍

標誌符 LEGB  local enclose global build_in (nonlocal global)

 

類和對象

類的定義

  1.類是對象的藍圖和模板,有了類就可以定義對象

  2.類最重要的就是資料抽象和行為抽象

  3.資料抽象:抽取對象的共有的靜態特徵 -- 屬性

  4.行為抽象:抽取對象的共有的行為特徵 -- 行為

對象的關係

  use a   依賴關係(作用和反作用)

  have a   關聯(普通/ 彙總/合成)(你中有我,我中有你)

  is a  繼承關係   從已經有的類建立新類的過程
  # 提供繼承資訊的稱為父類(超類/基類)
  # 得到繼承資訊的稱為子類(衍生類別/衍生類)
  # 通過繼承我們可以將子類中的重複代碼,抽取到父類中。
  # 子類通過繼承,並複用這些代碼,來減少重複代碼的編寫
  # 將來如果要維護子類的公用代碼,只需要在父類中進行操作即可

 

七大原則

  單一職責原則

  開閉原則

  依賴倒轉原則

  裡氏替換原則

  介面隔離原則

  合成彙總複用原則

  迪米特法則

  

 

Python第三周之物件導向之深刻學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.