@Meppci

Python, проблема вывода значения списка (не могу объяснить точнее в чем проблема, я pre-pre-pre junior developer)?

У меня есть список, он содержит:
[
User('a', 'b', 'c'),
User('....', '....', '....'),
User('....', '....', '....'),
User('....', '....', '....')
]
Как мне вывести значение 'a'? Из-за того, что там есть это User() оно не хочет выводиться

from telethon import TelegramClient, sync
from telethon.tl.functions.channels import GetFullChannelRequest

api_id = '***'
api_hash = '***'

client = TelegramClient('session', api_id, api_hash)
client.start()

channel = client.get_entity('oge_help')

participants = client.get_admin_log(channel)


# список выглядит так: [User('это нужно вывести', '.........', '........'), User('.........', '.......', '......'), User(), .....]
# нужно вывести первое значение из первого значения User()
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Вопрос кажется простым. Но ответ потребует объяснения большого количества разнообразных принципов и может превратиться в целый цикл лекций.
Набросаем путь освоения:
  1. Объектная модель языка Python
  2. Структуры данных вообще и языка Python в частности
  3. ООП вообще и понятие классов, экземпляров, атрибутов, методов, инициализации экземпляров в частности.
  4. Реализация конкретного класса User в конкретной версии библиотеки.
  5. Осмысление места, роли этого класса, его атрибутов, причин такой реализации, последствий для программирования бота;
  6. Вероятно, базы данных, их связь с классами; поля БД, их связь с атрибутами класса;
  7. Понимание, как всё это в целом работает, какие пути есть для получения искомых сведений и какие последствия могут возникнуть для работы бота, канала, Телеграма и его пользователей при работе с этими сведениями.


Вот вам пример простейшей реализации:
class User:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

    def __repr__(self):
        return f'a:{self.a}\tb:{self.b}\tc:{self.c}'

users = [User(1, 2, 3), User(('z', 'y', 'x'), 5, 6), User('a', 'b', None)]

for user in users:
    print(user)
    print(f'a:{user.a}')
print(users[1].a)
print(users[2].c)

из него можно извлечь некоторые сведения для вас.

Но вовсе не обязательно, что в вашем классе User всё реализовано так просто. Надо посмотреть на него глазами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы