Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于循环与类对象。。。我怎样才能解决它?_Python_Python 3.x_Class_For Loop - Fatal编程技术网

Python 对于循环与类对象。。。我怎样才能解决它?

Python 对于循环与类对象。。。我怎样才能解决它?,python,python-3.x,class,for-loop,Python,Python 3.x,Class,For Loop,今天我尝试创建一个类。 这是我写的 from first_names_class import firstnames from last_names_class1 import lastnames from object_name_list import my_new_list class MyClass: """A Class with automatated full names.""" # Automatically create the instances of the

今天我尝试创建一个类。 这是我写的

from first_names_class import firstnames
from last_names_class1 import lastnames
from object_name_list import my_new_list

class MyClass:
    """A Class with automatated full names."""
    # Automatically create the instances of the class named user_indexfrom the rangeiterator
    def __init__(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

for i in range(0, 49):
    my_new_list[i] = MyClass(firstnames[i], lastnames[i])

print(user1.first_name)
但是,当我运行它时,它会说:

回溯(最近一次呼叫最后一次): ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50'] 文件“/Users/myname/Documents/University/Programming for Quantitive Analysis/MyFirstClass.py”,第15行,在 打印(用户1.名字) NameError:未定义名称“user1” 用户1、用户2、用户3、用户4、用户5、用户6、用户7、用户8、用户9、用户10、用户11、用户12、用户13、用户14、用户15、用户16、用户17、用户18、用户19、用户20、用户21、用户22、用户23、用户24、用户25、用户26、用户27、用户28、用户29、用户30、用户31、用户32、用户33、用户35、用户36“,”用户37“,”用户38“,”用户39“,”用户40“,”用户41“,”用户42“,”用户43“,”用户44“,”用户45“,”用户46“,”用户47“,”用户48“,”用户49“,”用户50“]

我的想法是: 我不知道我是否正确,但我在另一个线程中读到,类的对象/实例不应该缩进,因为它将被解读为“类的内容”

另一方面,for循环要求我将此文本缩进

如果我说的正是问题所在,我该如何解决这个问题呢

如果我所说的是错误的,那么我该如何解决这个命名错误呢

也许这与我获取对象名称的列表有关。因为它们是弦,也许那就是麻烦制造者


如果有任何关于如何解决此问题的提示,我将不胜感激。

使用索引符号访问列表中的元素:

打印(我的新列表[0]。名字)
你的缩进没有问题


您从未定义过符号
user1
。。。您只有
my_new_list
类型的
list
,您可以访问使用
[id]

的元素。我使用了一些伪列表进行演示,但通过此设置,您可以访问如下值

first = ['vash', 'billy']
last = ['stampede', 'stack']

class MyClass:
    def __init__(self, f_name, l_name):
        self.first_name = f_name
        self.last_name = l_name
        self.full_name = f_name + ' ' + l_name

user = [MyClass(first[idx], last[idx]) for idx, item in  enumerate(first)]

print(user[0].first_name)
print(user[1].first_name)
[print(user[idx].full_name) for idx, item in enumerate(user)]

user1
在代码中的任何地方都没有定义-这就是
namererror
告诉您的。您的意思是访问
my_new_list
中的一个值吗?以后,请将错误消息粘贴到代码块中,而不是作为引号。这样,消息的行将被分开,使它更容易阅读。@RobinZigmond我明白了。这就是我试图对for循环所做的。创建它们并指定名字和姓氏是我的计划。我以前创建过类似这样的对象,它使用了这段代码。random_user=MyClass(“Karl”,“Eggers”)print(random_user.last_name)如果for循环不起作用,我如何创建对象,然后分配名字和姓氏?@Billy for循环没有什么问题。正如我所说,问题在于使用的变量名在任何地方都没有赋值。Python不知道您所说的
user1
是什么意思——老实说,我也不确定。但是你必须知道你的意思-只要在代码中定义什么是
user1
,它应该是类的一个实例。你说不清楚是什么意思?我要为其分配包含某人姓和名的字段的实例。这不是正确的行话吗?
~/python/stackoverflow/9.23$ python3.7 dicta.py
vash
billy
vash stampede
billy stack