Задать вопрос
@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()
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 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 всё реализовано так просто. Надо посмотреть на него глазами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽