本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Python子类初始化报错:TypeError:init()takes2positionalargumentsbut3weregiven是怎么回事?

网络教程 app 1℃

Python子类初始化报错TypeError:init()takes2positionalargumentsbut3weregiven是怎么回事?

子类初始化报错:typeerror: init() takes 2 positional arguments but 3 were given

在给定的代码片段中,子类 man() 的初始化函数 init 声明接收一个参数 age,而实例化时却传入了 2 个参数 11 和 22。出现 typeerror: init() takes 2 positional arguments but 3 were given 的提示,是因为实例化时实际上传入了 3 个参数,包括隐含的实例对象 self。

在 python 中,实例方法的第一个参数永远是 self,表示实例自身。因此,子类 man() 的 init 函数实际上接收了 2 个参数,包括 self 和 age。当实例化时,传入的参数数量应与初始化函数的参数数量一致,包括 self。

在给定的示例中,应该这样实例化子类 man:

man = Man(11)

这样,只传入了一个参数 age,与子类初始化函数的参数数量一致。

以上就是Python 子类初始化报错:TypeError: init() takes 2 positional arguments but 3 were given 是怎么回事?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Python子类初始化报错:TypeError:init()takes2positionalargumentsbut3weregiven是怎么回事?

喜欢 (0)