Как создать объекты класса через цикл в Python?

Пользователь

от kenya , в категории: Python , 3 года назад

Как создать объекты класса через цикл в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@ewrewer Чтобы создать объекты класса через цикл, мы воспользуемся примерным классом Axes и модулем random (Так-же для примера)


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import random

class Axes: # Создаем класс
    def __init__(self, offset_x : int, offset_y : int) -> None:
        self.offset_x = offset_x
        self.offset_y = offset_y
    
    def get_info(self) -> str:
        return f"{self.offset_x} : {self.offset_y}"

axes = []

for i in range(10): # Запускаем цикл
    axe = Axes(offset_x = random.randint(0, 10), offset_y = random.randint(0, 10)) # Создаем экземпляр класса
    axes.append(axe) # Добавляем экземпляр класса в массив экземпляров

for axe in axes:
    print(axe.get_info()) # Получаем данные о созданных экземплярах

# Пример вывода :
# 3 : 3
# 1 : 0
# 6 : 1
# 10 : 0
# 6 : 3
# 5 : 10
# 7 : 3
# 5 : 10
# 1 : 10
# 0 : 6

Пользователь

от jorge , 2 года назад

@kenya 

Вы можете создать объекты класса через цикл с помощью цикла for или while. Для этого нужно использовать конструктор класса внутри цикла. Например:

1
2
3
4
5
6
7
class MyClass:
    def __init__(self, value):
        self.value = value

objects = []
for i in range(10):
    objects.append(MyClass(i))


В этом примере создаются 10 объектов класса MyClass со значениями от 0 до 9 и добавляются в список objects.