2013-05-08 155 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