Форум сайта python.su
0
Помогите, пожалуйста, получить вместо списка:
__main__.Igrok object at 0x0000000002A8F160>, <__main__.Igrok object at 0x0000000002A8F190
список с переменными-объектами класса: igr, igr1
Не соображу никак…
class Bitva: """ ____ """ def __init__(self): self.spis = [] def spisok_igrok(self, name): self.spis.append(name) class Igrok: """ ____ """ def __init__(self): bit.spisok_igrok(self) def __str__(self): pass #_____________main_____________ bit = Bitva() igr = Igrok() igr1 = Igrok() print(bit.spis)
Отредактировано IgorDubkov (Июль 3, 2021 22:12:43)
Офлайн
124
IgorDubkovкласс у вас Igrok, а igr igr1 это экземпляры этого класса,
список с переменными-объектами класса: igr, igr1
Отредактировано xam1816 (Июль 3, 2021 22:59:44)
Офлайн
0
Спасибо!Мне нужен список, содержащий igr, igr1 (как это правильно назвать? переменные экземпляров?..)
Как реализовать следующую логику?
Инстанцируется экземпляр класса Bitva.
—–
Инстанцируются несколько экземпляров класса Igrok,
создавая список себя в экз класса Bitva.
—–
Запускается метод экземпляра класса Bitva,
выбирающий случайный экз класса Igrok.
—–
Управление переходит в экз класса Igrok.
Отредактировано IgorDubkov (Июль 4, 2021 00:15:48)
Офлайн
124
class Bitva: """ ____ """ def __init__(self): self.spis = [] def spisok_igrok(self, name): self.spis.append(name) class Igrok: """ ____ """ def __init__(self, name_variablie): bit.spisok_igrok(name_variablie) def __str__(self): pass # _____________main_____________ bit = Bitva() igr = Igrok('igr') igr1 = Igrok('igr1') print(bit.spis)
Офлайн
0
Спасибо!
Думаю в Python нет смысла делать, что я хотел, так как может быть несколько переменных, указывающих на один и тот же экземпляр.
С Вашей подсказкой пробую реализовать логику:
Инстанцируется экземпляр класса Bitva.
—–
Инстанцируются несколько экземпляров класса Igrok,
создавая список себя в экз класса Bitva.
—–
Запускается метод экземпляра класса Bitva,
выбирающий случайный экз класса Igrok.
—–
Управление переходит в экз класса Igrok.
Офлайн
73
IgorDubkovзачем? зачем создавать переменные указывающие на один и тот же экземпляр???
так как может быть несколько переменных, указывающих на один и тот же экземпляр

Офлайн
44
ерунда каката
хотя
class Players: def __init__(self, quantity=0, piece=None): self.players = {} for i in range(quantity): self.players.update({i: piece}) def get_player(self, num): return self.players[num] test = Players(quantity=5, piece="obj") print(test.get_player(2))
и вставьте ссылку на его url Офлайн
0
marvellikЯ искал атрибуты, связанные с именем объекта класса. Не нашел. В теориях объяснили, что такого инструмента не может быть, так как см. про переменные.
зачем? зачем создавать переменные указывающие на один и тот же экземпляр???
Офлайн
9
IgorDubkov
Если забыть про классы и атрибуты. Что ты хочешь сделать?
Можешь описать словами логику?
Для примера:
“Создаем битву. В битве могут участвовать не менее 2 и не более 6 игроков. Число игроков в битве всегда должно быть четным. Генерируем 10 игроков с характеристиками: имя, уровень, класс, пол, раса и тому подобное.
Из 10 игроков случайным образом выбираем 4, которые будут участвовать в текущей битве. Список игроков участников битвы сохраняем и так далее”
Офлайн
0
Ocean
IgorDubkov
Если забыть про классы и атрибуты. Что ты хочешь сделать?
Можешь описать словами логику?
Для примера:
“Создаем битву. В битве могут участвовать не менее 2 и не более 6 игроков. Число игроков в битве всегда должно быть четным. Генерируем 10 игроков с характеристиками: имя, уровень, класс, пол, раса и тому подобное.
Из 10 игроков случайным образом выбираем 4, которые будут участвовать в текущей битве. Список игроков участников битвы сохраняем и так далее”
Офлайн