class exampleclass:
def meth01(self, name):
print self.name
obj1 = exampleclass()
obj1.meth01("James")
错误消息:
Traceback (most recent call last): File "<pyshell#5>", line 1, in
<module>
obj1.meth01("James") File "<pyshell#3>", line 3, in meth01
print self.name AttributeError: exampleclass instance has no attribute 'name'
我做错了什么来产生这个错误,名称在参数中,我试图设置什么名称以便打印?你知道吗
变量
name
是参数列表的一部分,但是在示例类对象本身中没有name
成员值。你知道吗一步一步地思考代码的作用。首先,它实例化一个新的
exampleclass
对象。你知道吗然后打电话给
obj1.meth01("James")
。meth01
传递值self=obj1和name=“James”meth01
然后尝试查找存储为obj1.name
的值,但不存在,因为在本例中,name
是方法meth01
的本地值,并且不是对象obj01
本身的一部分。你知道吗您需要创建
__init__
方法您正在打印
self.name
。这是类的成员变量,而不是函数meth01
的输入变量。在函数中,name
引用输入,self.name
引用类的成员变量。但你没有设定它。你知道吗请改为:
要了解发生了什么,请按以下方式展开:
相关问题 更多 >
编程相关推荐