takes 1 positional argument but 2 were given,类的method和函数function的区别

阅读: 评论:0

takes 1 positional argument but 2 were given,类的method和函数function的区别

takes 1 positional argument but 2 were given,类的method和函数function的区别

背景:我想调用类里面的一个函数,但是报错takes 1 positional argument but 2 were given 问题解决。,查了说是什么self。且又发现类函数的数据类型是method,而不是预期的function。
参考:
解决办法,把类方法变成类函数。

  1. 调用A.函数,而不是A().函数
  2. 修饰为静态方法@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小时内删除。

标签:函数   区别   positional   takes   argument
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23