Создание нескольких экземпляров общего письма - PullRequest
0 голосов
/ 21 мая 2019

Я хочу создать несколько экземпляров для класса.например,

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

давайте предположим, что я хочу сделать четыре экземпляра, разделяющих "C"

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

, это будет самый простой способ сделать четыре экземпляра, но код выглядит очень некрасиво, когда естьво многих подобных случаях.

Как записать код, который выглядит очень аккуратно?

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

И списки, и указания позволяют группировать различные контейнеры, чтобы их было проще обслуживать и использовать. Вот один из способов сделать это.

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']
0 голосов
/ 21 мая 2019

Вы можете сделать что-то вроде этого.

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


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

Это создаст десять объектов-контейнеров с ключами C1 .. - C10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...