创建多个实例共享通用字母

时间:2019-05-21 09:04:55

标签: python class oop

我想为一个类创建几个实例。 例如

class container():
    def __init__(self):
        pass

假设我要创建四个共享“ C”的实例

C1 = container()
C2 = container()
C3 = container()
C4 = container()

这是创建四个实例的最简单方法,但是当有很多这样的实例时,代码看起来非常难看。

如何写下看起来很整洁的代码?

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作。

class container():
    def __init__(self):
        pass


containers = {'C' + str(i): container() for i in range(1, 11)}
print(containers)

这将创建10个容器对象,其键为C1 ..至C10

答案 1 :(得分:0)

列表和字典都允许您将各种容器组合在一起,以使其易于维护和使用。这是一种方法。

class container():
    def __init__(self):
        pass

C_list = [container() for _ in range(4)] #using list
print(C_list)
#Output:
[<__main__.container at 0x278b1b451d0>,
 <__main__.container at 0x278b1b452b0>,
 <__main__.container at 0x278b1b45240>,
 <__main__.container at 0x278b1b45400>]
C_list[3]

C_dict = {f"C{i}":container() for i in range(1, 5)} #using dict
print(C_dict)
#Output:
{'C1': <__main__.container at 0x278b1b45748>,
 'C2': <__main__.container at 0x278b1b45780>,
 'C3': <__main__.container at 0x278b1b457f0>,
 'C4': <__main__.container at 0x278b1b45860>}

C_dict['C4']