• Как правильно написать многоуровневое меню для телеграмм бота в библиотеке telebot?

    @TastyTea
    Советую вынести все меню в отдельный файл, а лучше в конфигурационный файл. Станет сразу более читабельно и удобно в редактировании.
    Также советую для каждого меню сделать свою функцию с калбеком.
    Ещё не забудьте весь повторяющийся код в отдельную функцию, будет удобнее писать, да и читать в дальнейшем.
    Ответ написан
    Комментировать
  • Что означает запись в скобках сразу после инициализации?

    Maksim_64
    @Maksim_64
    Data Analyst
    Действительно, все очень просто.
    namedtuple - это функция которая возвращает объект класса namedtuple, который является подсклассом встроенного tuple. Где первый параметр, это имя типа данных. Второй это параметры.
    from collections import namedtuple
    Point = namedtuple("Point", ['x','y'])
    point = Point(2,4)
    print(point)

    Теперь представим есть некий словарь и просто перепишем в одну строчку, с распаковкой параметров '*'.
    d = {
        'x':2,
        'y':4
    }
    
    print(namedtuple('Point',d.keys())(*d.values()))

    d.keys() это коллекция ключей строк, как в пошаговом примере, *d.values() это распакованная последовательность значений.
    Ответ написан
    Комментировать