最近偶然遇到 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
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