缺少 1 个必需的位置参数 [重复]
- 2025-04-10 09:46:00
- admin 原创
- 18
问题描述:
class classname:
def createname(self, name):
self.name = name;
def displayname(self):
return self.name;
def saying(self):
print("Hello %s" % self.name);
first = classname;
second = classname;
first.createname("Bobby");
错误:
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
first.createname("Bobby")
TypeError: createname() missing 1 required positional argument: 'name'
错误告诉我名称中还需要 1 个参数,所以我一定是弄错了,但我已经尝试过这样的事情:
first.createname("bobby", "timmy");
我还排除了它是 的可能性def createname(self, name)
,因为self
它是或应该是单独的并且不包括在内?所以我真的不明白发生了什么。
解决方案 1:
您实际上尚未创建一个对象。
例如,你可能想写:
first = classname()
而不仅仅是
first = classname
目前,您编写的方式first
指向一个类。例如,如果您问first
是什么,您会得到:
<class '__main__.classname'>
然而,在实例化它之后(只需()
在末尾添加),您就会看到first
现在是:
<__main__.classname object at 0x101cfa3c8>
这里的重要区别是,您的调用设置first
为一个类,而我的调用将其设置为一个对象。
可以这样思考:类之于对象,就如同人类之于你,或者犬之于莱西。
您将其设置为“犬”,而您想将其设置为“灵犬莱西”。
注意:您通常还需要初始化对象。为此,您可以__init__
在类中放置一个方法。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD