Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 - Fatal编程技术网

Python 提供对象属性的最佳方法?

Python 提供对象属性的最佳方法?,python,Python,我有一个基类,我需要创建这个类的70个对象。基类有6个属性,这些属性也需要为对象设置 因为我知道每个对象的每个属性的值,所以最好的方法是什么。我可以想出两种方法 1-创建一个python文件,在其中创建这70个对象并为每个对象设置属性。这会导致代码中出现大量重复,并且会使更改值变得有点复杂 2-我可以将它们全部存储在文本文件中。逐行读取它们,然后在循环中每次创建一个新对象,并将其属性设置为在此迭代中读取的值。这将使我的赋值代码简洁,并将属性值封装在文本文件中 我更喜欢第二个,有什么想法/建议吗?

我有一个基类,我需要创建这个类的70个对象。基类有6个属性,这些属性也需要为对象设置

因为我知道每个对象的每个属性的值,所以最好的方法是什么。我可以想出两种方法

1-创建一个python文件,在其中创建这70个对象并为每个对象设置属性。这会导致代码中出现大量重复,并且会使更改值变得有点复杂

2-我可以将它们全部存储在文本文件中。逐行读取它们,然后在循环中每次创建一个新对象,并将其属性设置为在此迭代中读取的值。这将使我的赋值代码简洁,并将属性值封装在文本文件中


我更喜欢第二个,有什么想法/建议吗?

假设类有一个构造函数,您可以向其提供属性,您可以使用该构造函数创建对象

无论如何,你也得把这些东西放在某个地方。如果你想把它们放在某种容器中,你可以用列表或类似的方式写得更紧凑:

attribute_list = [ ( 1, 2, 3, 4, 5, 6),
                  (11,12,13,14,15,16),
                   # and so on
         ]

for attrs in attribute_list:
    container.append( TheClass( *attrs ) )
如果您不将对象放入容器或类似容器中,则使其更紧凑的希望渺茫,您基本上必须求助于:

obj1 = TheClass( 1, 2, 3, 4, 5, 6 )
obj2 = TheClass( 11, 12, 13, 14, 15, 16 )
# etc

如果它适用于你的应用程序,那就继续吧。如果有任何选择,你将在一个文件中有70乘以6的值。除了一些代码来读取、解释和验证属性外,为什么还要使用自己的文件格式来保存属性值?Python源文件格式已经标准化了,除此之外,Python编译器还对其进行了验证和解释!