Найти - Пользователи
Полная версия: Динамическое создание экземпляров класса
Начало » Python для новичков » Динамическое создание экземпляров класса
1
BIM
Как создать заданное количество экземпляров класса?

Везде пишут только такой вариант

b=a()

А как быть когда допустим мне надо создать 10 экземпляров класса “класс” и в каждом 30 экземпляров класса “школьник” ?
py.user.next
>>> class A:
...   pass
... 
>>> lst = [A() for _ in range(10)]
>>> lst
[<__main__.A object at 0xb7378f8c>, <__main__.A object at 0xb7378fac>, <__main__.A object at 0xb7378fcc>, <__main__.A object at 0xb7378fec>, <__main__.A object at 0xb737c02c>, <__main__.A object at 0xb737c04c>, <__main__.A object at 0xb737c06c>, <__main__.A object at 0xb737c08c>, <__main__.A object at 0xb737c0ac>, <__main__.A object at 0xb737c0cc>]
>>>
BIM
py.user.next
lst =

Благодарю за совет, я попробовал сделать вариант для постепенного создания экземпляров.

v=[]
while True:
    v.append(Имя_Класса())
    v[len(v)-1]._Метод_Класса()
    if #условие для выхода



Получилось вот это. Подскажите как это сделать по красивее?
py.user.next
BIM
Подскажите как это сделать по красивее?

А что мешает сначала добавить всех а потом вызывать метод?
BIM
py.user.next

а если я не знаю сколько их будет?
py.user.next
BIM
Как создать заданное количество экземпляров класса?
BIM
а если я не знаю сколько их будет?

Сначала определи, знаешь ты или не знаешь, сколько их.
Цикл, который ты написал, тоже мутный какой-то. Всегда нужно знать, где закончится цикл, и писать это в заголовке.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB