3

我有一个类来分配一些参数:

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

非常感谢你的帮助。

4

1 回答 1

12

请注意,这body是一个类。使用body[i]建议您可能打算body用作列表。如果要创建 10 个实例的列表body,请不要同时命名该列表body。您可以改为命名列表bodies并使用列表理解对其进行定义:

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

顺便说一句,PEP8 风格指南建议所有类都遵循 CapWords 约定。所以要符合约定,body应该是Body. 通过遵循这个约定,每个阅读您的代码的人都会立即理解什么是类,什么不是。

于 2013-05-08T22:52:59.470 回答