程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python partial函數

編輯:Python

最近偶然遇到 partial 這個函數,有點不了解,後面才發現 這個主要是傳遞默認值;

即:partial 函數的功能就是:把一個函數的某些參數給固定住,返回一個新的函數。

from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply, y=2)
"""
partial接收函數 multiply 作為參數,固定multiply的參數 y=2,並返回一個新的函數給double;
類似於:
def double(x, y=2):
return multiply(x, y)
"""
print(double(3)) # 6
  • 如果不用關鍵字參數,直接使用:double = partial(multiply, 2)則 2 是賦給了 multiply 最左邊的參數,即 x = 2;(會默認從左往右賦值,可以傳遞多個值)
  • 調用 double 方法時,如果沒有使用關鍵字參數,值默認也是從 左往右賦值;
  • 如果 partial 函數裡 已經指定了參數,調用 double 方法時,參數後面傳入的值需要進行指定;
from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply,x=1)
# print(double(3)) 直接調用會報錯,需要對參數進行指定
# TypeError: multiply() got multiple values for argument 'x'
print(double(y=3)) # 3


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved