Python 函數函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。 函數能提高應用的模塊性,和代碼的重復利用率。Python提供了許多內建函數,比如print()。但也可以自己創建函數,這被叫做用戶自定義函數。 這是小編親自整理的python入門學習資料,關注,轉發,私信小編“01”即可免費獲取! 1.函數的定義: 你可以定義一個由自己想要功能的函數,以下是簡單的規則:
語法 默認情況下,參數值和參數名稱是按函數聲明中定義的的順序匹配起來的。 舉例1: 舉例2: 運行結果: 2.函數的調用 定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。 這個函數的基本結構完成以后,你可以通過另一個函數調用執行,也可以直接從Python提示符執行。 如下實例調用了add()函數: 運行結果: 3.函數的參數 形式參數和實際參數 在定義函數時,函數名后面,括號中的變量名稱叫做形式參數,或者稱為'形參' 在調用函數時,函數名后面,括號中的變量名稱叫做實際參數,或者稱為'實參' 函數默認參數: 缺省參數(默認參數) 定義: 調用: ![]() 我們經常在看別人的代碼中,經常出現def(*args, **kwargs)這樣的表現形式: ![]() 4.函數的返回值 函數返回值: 函數被調用后會返回一個指定的值 函數調用后默認返回None return返回值 返回值可以是任意類型 return執行后,函數終止 return與print區別 ![]() 5.函數的變量 局部變量和全局變量: Python中的任何變量都有特定的作用域 在函數中定義的變量一般只能在該函數內部使用,這些只能在程序的特定部分使用的變量我們稱之為局部變量 在一個文件頂部定義的變量可以供文件中的任何函數調用,這些可以為整個程序所使用的變量稱為全局變量。 ![]() 外部變量被改(x由100改為101): ![]() 內部變量外部也可用: ![]() 統計程序中的變量,返回的是個字典 ![]() 結果: {'y': 1, 'x': 1}{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x02FF6390>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/PycharmProjects/PythonLive/untitled/day07/demo2.py', '__cached__': None, 'x': 100, 'fun': <function fun at 0x052D2390>} 6.匿名函數 顧名思義就是沒有名字的函數,那為什么要設立匿名函數,他有什么作用呢? lambda 函數是一種快速定義單行的最小函數,可以用在任何需要函數的地方 python 使用 lambda 來創建匿名函數。
語法 lambda函數的語法只包含一個語句,如下: ![]() 舉例: 求兩數的乘積: 常規寫法: ![]() lambda版本寫法: ![]() 7.高階函數 (1)map(f, list) 返回每個元素通過f計算完的value的list map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的list返回。 舉例:計算列表里值的平方 ![]() 結果: ![]() (2)reduce(f,list)函數(求list中數的和) reduce把一個函數作用在一個序列[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算,其效果就是: 舉例:計算列表中所有數的和 ![]() (3)filter()函數(過濾) filter函數接收一個函數f和一個list,函數f的作用是對每個元素進行判斷,返回True或者False,filter()根據判斷結果自動過濾掉不符合條件的元素,返回符合要求的元素組成的list filter(lamdba x: x%2 ==1, [1, 2, 3, 4, 5]) 舉例:計算list中小于7的數 ![]() (4)sorted()函數(排序) sorted(...) sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list ![]() 舉例: ![]() |
|