Форум сайта python.su
4
Привет!
У меня в программе создан(объявлен) класс с названием Ball
Если я пишу
x=Ball()
то появляется объект класса Ball, который может вызывать все методы которые определены в классе.
Мне необходимо создавать различное количество объектов класса Ball в зависимости от ситуации.
Я попробовал сделать так:
while total<10: # total -переменная которая считает объекты
x=Ball()
total+=1
но возникает вопрос: как менять имя объекта при его создании
В данном случае у меня, видимо должно получиться 10 объектов с одним и тем же именем
Подскажите, как решить этот вопрос?
Спасибо
Офлайн
294
panama555скорее всего нет, у вас полчится один обьект,котороый будет создан последним, хотя тут конечно много зависит от того чего там в этом обьете Ball() понаписано.
В данном случае у меня, видимо должно получиться 10 объектов с одним и тем же именем
panama555тут вопрост не только как менять, а и как потом к ним обращаться.
но возникает вопрос: как менять имя объекта при его создании
import sys class Ball(): pass # в список balls = [] for i in range(10): balls.append(Ball()) print(balls) # в словарь balls = {} for i in range(10): balls[str(i)] = Ball() print(balls) # в глобалс for i in range(10): setattr(sys.modules[__name__], 'ball{}'.format(i), Ball()) print(ball5) print(ball9) print(globals())
[code python][/code]
Отредактировано PEHDOM (Фев. 26, 2019 17:42:26)
Офлайн
4
То что нужно.
Офлайн