动态修改类的方法的参数数量

2018-09-13 21:27:23 +08:00
 herbivory

class A: def a(self,z,t): return self.c()+z+t def c(self): return 1 我的方法是 A.a = MethodType(getattr(A,"a"),A) 不过提示 TypeError: c() missing 1 required positional argument: 'self' 不知道大神们怎么想

1629 次点击
所在节点    Python
3 条回复
xpresslink
2018-09-13 22:28:41 +08:00
你的方法是什么鬼?
python 根本没有这种实际需求,因为语言特性本身就支持*arg 和**kwarg 这种变长参数。
herbivory
2018-09-22 09:57:18 +08:00
@xpresslink 666,
@xpresslink 666,垃圾的人就只是说没有,你见过吗你就说没有
xpresslink
2018-09-22 23:13:07 +08:00
>>> import types
>>> help(types.MethodType)
Help on class method in module builtins:

class method(object)
| method(function, instance)
|
| Create a bound instance method object.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX