小编fou*_*ver的帖子

Python:为什么 functools.partial 函数在设置为类属性时不会成为绑定方法?

我正在阅读有关函数在设置为类 atrributes 时如何成为绑定方法的内容。然后我观察到,对于 . 包装的函数来说情况并非如此functools.partial。对此有何解释?

简单的例子:

from functools import partial

def func1():
    print("foo")

func1_partial = partial(func1)

class A:
    f = func1
    g = func1_partial

a = A()


a.f() # TypeError: func1() takes 0 positional arguments but 1 was given

a.g() # prints "foo"

Run Code Online (Sandbox Code Playgroud)

我有点期望他们都会有同样的行为方式。

python class python-3.x functools

8
推荐指数
2
解决办法
488
查看次数

标签 统计

class ×1

functools ×1

python ×1

python-3.x ×1