2013-05-08 156 views
2

我有一个类来创建对象,分配一些参数:的Python for循环

class body: 
    def __init__(self, name, number, L): 
     self.name = name 
     self.number = number 
     self.L = L 

而且我想这些参数分配给10个几乎相等的机构,如:

for i in range(0, 10): 
    body[i].name = "test_name" 
    body[i].number = i 
    body[i].L = 1. 

并成为可以说,身体3的参数L从1到2:

body[3].L = 2 

非常感谢您的帮助。

回答

12

请注意,body是一类。使用body[i]建议您可能打算使用body作为列表。如果您想要创建一个实例body的列表,请不要命名列表body。你可以代替命名列表bodies并用list comprehension定义它:

bodies = [body("test_name", i, 1.) for i in range(0, 10)] 
bodies[3].L = 2 

顺便说一句,PEP8 Style Guide建议all classes follow the CapWords convention。所以要符合公约,body应该是Body。遵循这个约定,读取你的代码的每个人都会立即理解什么是类,什么不是。

+0

非常感谢您的帮助。问题已经解决了。谢谢! – avstenit 2013-05-09 09:12:38