一个最简单的方法解决Python的TypeError: xxx() takes 1 positional argument but 2 were given
当我们在类内写了函数进行调用的时候,有时侯并没有传递参数,所编写的函数方法也不需要参数,但运行会报错:TypeError: xxx() takes 1 positional argument but 2 were given,参数请求的错误,某并未深究其中原因,但单纯就解决这个问题而言,根据某实际经验,只需要在你的目标调用函数里定义空参数即可解决报错问题。
演示如下:
假设报错:
class MainPro:
def __init__(self):
#init code
pass
def f1(self):
self.f2() #假设此处报错
def f2(self):
pass
只需修改添加:
class MainPro:
def __init__(self):
#init code
pass
def f1(self):
self.f2()
def f2(self,arg=None):#给调用方法添加为空的形参,报错几个就添加几个
pass
给调用方法添加为空的形参,报错几个就添加几个,一般能够解决问题。但建议还是了解其后原理用最正确的方法,防止留下程序漏洞造成错误。
作者:Wiktok