我们知道可以这样来用partial
import functools
int2 = functools.partial(int, base=2)
print(int2('10001'))
# Output: '17'
int 函数的解释如下:
class int(object)
| int(x=0) -> integer
| int(x, base=10) -> integer
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is a number, return x.__int__(). For floating point
| numbers, this truncates towards zero.
我对 partial 参数的理解是,加入这么写
functools.partial(func, arg1)
则指定 func 最靠左的那个参数为 arg1
def fun(x, y, z):
print('x: {0}; y: {1}; z: {2}'.format(x, y, z))
f1 = functools.partial(fun, 1)
f1(2, 3)
# Output: 'x: 1; y: 2; z: 3'
我们也可以通过在 parital 中通过指定默认参数来绑定 func 中的参数值
f2 = functools.partial(fun, z=3)
f2(2, 1)
# Output: 'x: 2; y: 1; z: 3'
sum_100 = functools.partial(sum, start=100)
print(sum_100([1, 2, 3]))
#TypeError: sum() takes no keyword arguments
sum 函数的说明:
sum(iterable, start=0, /)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
import functools
int2 = functools.partial(int, base=2)
print(int2('10001'))
# Output: '17'
int 函数的解释如下:
class int(object)
| int(x=0) -> integer
| int(x, base=10) -> integer
|
| Convert a number or string to an integer, or return 0 if no arguments
| are given. If x is a number, return x.__int__(). For floating point
| numbers, this truncates towards zero.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.