日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python函數和python匿名函數lambda詳解_python

作者:愛測試的高胖胖 ? 更新時間: 2022-11-02 編程語言

1. python函數

1.1 函數的作用

  • 函數是組織好的,可重復使用的,用來實現單一或相關聯功能的代碼段
  • 函數能提高應用的模塊性代碼的重復利用率
  • python 內置函數:https://docs.python.org/zh-cn/3.10/library/functions.html

1.2 函數定義

  • def:函數定義關鍵詞
  • function_name:函數名稱
  • ():參數列表放置的位置,可以為空
  • parameter_list:可選,指定向函數中傳遞的參數
  • comments:可選,為函數指定注釋
  • function_body:可選,指定函數體
def function_name([parameter_list]):
    [''' comments ''']
    [function_body]

定義函數的注意事項:

  • 縮進:python 是通過嚴格的縮進來判斷代碼塊兒

    • 函數體和注釋相對于 def 關鍵字必須保持一定的縮進,一般都是 4 個空格
    • pycharm 自動格式化快捷鍵:ctrl+alt+L
  • 定義空函數

    • 使用 pass 語句占位
    • 寫函數注釋 comments、

1.3 函數調用

  • function_name:函數名稱
  • parameter_value:可選,指定各個參數的值
function_name([parameter_value])

1.4 函數的參數

1.4.1 參數的傳遞

  • 形式參數:定義函數時,函數名稱后面括號中的參數
  • 實際參數:調用函數時,函數名稱后面括號中的參數
# a, b, c 為形式參數
def demo_func(a, b, c):
    print(a, b, c)

# 1, 2, 3 為實際參數
demo_func(1, 2, 3)

1.4.2 參數類型

1.4.2.1 位置參數(必備參數)

  • 數量必須與定義時一致
  • 位置必須與定義時一致
def demo_func(a, b, c):
    print(a, b, c)

# 1 賦值給 a, 2 賦值給 b, 3 賦值給 c
demo_func(1, 2, 3)

1.4.2.2 關鍵字參數

  • 使用形式參數的名字確定輸入的參數值
  • 不需要與形式參數的位置完全一致
def demo_func(a, b, c):
    print(a, b, c)

demo_func(a=1, b=2, c=3)

1.4.2.3可變參數

  • 可變參數也稱為不定長參數
  • 傳入函數中實際參數可以是任意多個
  • 常見形式
    • *args
    • **kwargs
1.4.2.3.1 *args
  • 接收任意多個實際參數,并將其放到一個元組
  • 使用已經存在的列表元組作為函數的可變參數,可以在列表的名稱前加*
def print_language(*args):
    print(args)

print_language("python", "java", "php", "go")

params = ["python", "java", "php", "go"]
print_language(*params)
1.4.2.3.2 **kwargs
  • 接收任意多個類似關鍵字參數一樣顯式賦值的實際參數,并將其放到一個字典
  • 使用已經存在字典作為函數的可變參數,可以在字典的名稱前加**
def print_info(**kwargs):
    print(kwargs)

print_info(Tom=18, Jim=20, Lily=12)

params = {'Tom':18, 'Jim':20, 'Lily':12}
print_language(**params)

1.4.5 為參數設置默認值

  • 定義函數時可以指定形式參數的默認值
  • 指定默認值的形式參數必須放在所有參數的最后,否則會產生語法錯誤
  • param=default_value:可選,指定參數并且為該參數設置默認值為 default_value
  • 設置默認值必須要使用不可用對象,可變對象不可以用,如:列表,字典。
def function_name(..., [param=default_value]):
    [function_body]

1.5 函數返回值

value:可選,指定要返回的值

def function_name([parameter_list]):
    [''' comments ''']
    [function_body]
    return [value]

2. python lambda表達式

2.1 匿名函數

  • 沒有名字的函數
  • 用 lambda 表達式創建匿名函數

2.2 使用場景

  • 需要一個函數,但是又不想費神去命名這個函數
  • 通常在這個函數只使用一次的場景下
  • 可以指定短小的回調函數

2.3 語法

  • result:調用 lambda 表達式
  • [arg1 [, arg2, …. , argn]]:可選,指定要傳遞的參數列表
  • expression:必選,指定一個實現具體功能的表達式
result = lambda [arg1 [, arg2, .... , argn]]: expression

2.4 實例

L=[('b',2),('a',1),('c',3),('d',4)]

# 2、利用參數 cmp 排序
sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))
# 結果:
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
# 3、利用參數 key 排序
sorted(L, key=lambda x:x[1])
# 結果:
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

原文鏈接:https://blog.csdn.net/gjj920318/article/details/126738409

欄目分類
最近更新