背景:我想调用类里面的一个函数,但是报错takes 1 positional argument but 2 were given 问题解决。
,查了说是什么self。且又发现类函数的数据类型是method,而不是预期的function。
参考:
解决办法,把类方法变成类函数。
A.函数
,而不是A().函数
@static_mthod
,即可调用A().函数
class A():def mthd(self):pass@staticmethoddef static_mthd():pass@classmethoddef class_mthd(cls):passdef func():passa = A()
print(func.__class__) # <class 'function'>
print(a.static_mthd.__class__) # <class 'function'>
hd.__class__) # <class 'method'>
hd.__class__) # <class 'function'>
print(a.class_mthd.__class__) # <class 'method'>
print(A.class_mthd.__class__) # <class 'method'>作者:Reticence
链接:
来源:知乎
本文发布于:2024-02-04 22:29:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170717857360257.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |