@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 всё реализовано так просто. Надо посмотреть на него глазами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
06 мая 2024, в 12:36
30000 руб./за проект
06 мая 2024, в 12:22
5000 руб./за проект
06 мая 2024, в 12:19
1500 руб./в час