文章详情页
python错误 __str__() Takes 0 positional arguments but 1 was given
浏览:161日期:2022-06-28 11:53:51
问题描述
# -*- coding:gb2312 -*-class car: # 属性# 方法 def __str__():print('哈哈哈哈哈哈啊哈')def move():print('车在移动。') def Whistle():print('车载鸣笛。')BMW = car()print(BMW)
提示错误:

google翻译了一下,说是取0个位置参数,但给出1不太理解这个什么意思。
问题解答
回答1:在class里面定义的函数, 都需要提供一个self的位置参数, 因为在类实例化时, 会传入实例对象, 进而和函数进行绑定, 所以代码应该调整为:
# -*- coding:gb2312 -*-class car: # 属性 # 方法 def __str__(self):return ('哈哈哈哈哈哈啊哈') def move(self):print('车在移动。') def Whistle(self):print('车载鸣笛。')BMW = car()print(BMW)
对于 method 和 function的关系可以参考我的文章: Python: 函数与方法的区别
相关文章:
1. Java使用数组的速度比C ++中std :: vector快8倍。我做错什么了?2. 关于网站上传后浏览器不识别的问题3. web服务器 - Nginx可不可以理解为一个框架,上面跑的都是什么程序?4. Android 高德地图如何设置缩放限制级别?5. nignx - docker内nginx 80端口被占用6. dockerfile - 为什么docker容器启动不了?7. android - coordinatorLayout嵌套recyclerview8. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””9. java - servlet的init方法和选择Filter的init方法来加载配置文件,二者有何区别?10. html5 - 在Mac里使用vscode,却无法使用已下载的扩展……
排行榜

网公网安备