takes 1 positional argument but 2 were given

标题

get() takes 1 positional argument but 2 were given
某某函数设置一个变量,但是你给了两个但是你给了两个参数

这个错误原因有很多:

#第一种:
def fun(x):
      return x
fun(1,2)
#第二种:
class MyProperty:
    def __init__(self,fset=None,fget=None,fdel=None):
        self.fset = fset
        self.fget = fget
        self.fdel = fdel
    def __get__(self, instance, owner):
        return self.fget(instance)
    def __set__(self, instance, value):
        self.fset(instance,value)
    def __delete__(self, instance):
        self.fdel(instance)
class my:
    def __init__(self):
        self._x = None
    def get(self):
        return self._x
    def set(self,value):
        self._x = value
    def delX(self):
        del self._x

    x = MyProperty(get,set,delX)

c = my()
c.x='x_man'
print(c.x)
print(c._x)
'''
D:\Python\python.exe D:/pycharm/code/小甲鱼/11-27/自定义property.py
Traceback (most recent call last):
  File "D:/pycharm/code/小甲鱼/11-27/自定义property.py", line 25, in <module>
    c.x='x_man'
  File "D:/pycharm/code/小甲鱼/11-27/自定义property.py", line 9, in __set__
    self.fset(instance,value)
TypeError: get() takes 1 positional argument but 2 were given

Process finished with exit code 1

'''
#第三种:
就是self参数忘记写了,会导致出现以上问题

问题就出在了 def init(self,fset=None,fget=None,fdel=None):的默认参数位置上,我看了老半天,结果这个参数问题导致了标题问题

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值