我有一堂课。为此,我想将数据追加到构造函数的空列表变量。我正在尝试附加数据。但这不起作用,并会引发错误,因为“ NameError:未定义名称'items'”。在执行此代码之前。
这是我的代码片段:
class data:
def __init__(self,items=[]):
self.items = items
self.m1(n)
def m1(self,n):
self.n=2
for i in range(self.n):
d = input('enter the values :')
self.items.append(d)
print(self.items)
d=data(items)
问题来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这是一些错误的问题:
1.)在第11行上,尝试初始化该类之前未在任何地方定义项,因此最终在调用时收到错误
d=data(items)
2.)在第4行,未定义n。它既不随构造函数一起作为参数传递,也不在构造函数块内的其他位置定义。您将需要定义n。
不过,这是一个有效的版本,所有变量均已正确定义:
class data:
def __init__(self, n, items=[]):
self.items = items
self.m1(n)
def m1(self, n):
self.n=2
for i in range(self.n):
d = input('enter the values :')
self.items.append(d)
print(self.items)
items = [1, 5, 7]
d = data(2, items)
回答来源:stackoverflow