登录
首页 >  文章 >  python教程

Python 子类初始化报错:TypeError: init() takes 2 positional arguments but 3 were given 是怎么回事?

时间:2024-11-08 15:04:07 262浏览 收藏

学习文章要努力,但是不要急!今天的这篇文章《Python 子类初始化报错:TypeError: init() takes 2 positional arguments but 3 were given 是怎么回事?》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

Python 子类初始化报错:TypeError: init() takes 2 positional arguments but 3 were given 是怎么回事?

子类初始化报错: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,与子类初始化函数的参数数量一致。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>