Size: a a a

Сообщество Python Программистов

2021 January 20

S

Shadle in Сообщество Python Программистов
Что это?
там get_data нужно
а get_tables это моя функция в которую я должен положить item_id из месседжа и вернуть результат этой функции
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Vadim Apenko
Ага. Python его делает при создании AST
Не, я про другое немного
Типа если кто-то захочет написать интерпретатор например. И надо проверить всё ли он корректно отрабатывает.
источник

in Сообщество Python Программистов
Айван
Если цель не написать код который можно расширить и переиспользовать а приготовить лапшу из непонятно зачем импортирующихся хэндлеров (просто чтобы стригерить их регистрацию) и не контролируемая последовательность регистрации (которая собьётся как только IDE решит отсортировать импорты по-своему) — да, можно.
Думал уж тут до обсуждений "почему глобалы — плохо" не дойдём
Такая структура - говно
источник

VA

Vadim Apenko in Сообщество Python Программистов
Айван
Если цель не написать код который можно расширить и переиспользовать а приготовить лапшу из непонятно зачем импортирующихся хэндлеров (просто чтобы стригерить их регистрацию) и не контролируемая последовательность регистрации (которая собьётся как только IDE решит отсортировать импорты по-своему) — да, можно.
Думал уж тут до обсуждений "почему глобалы — плохо" не дойдём
Импорты можно (читай нужно) указать в правильном порядке в all модуля init с хендлерами. Давно эту проблему так решают.
источник

VA

Vadim Apenko in Сообщество Python Программистов
Глобалы - плохо.
Но глобальные объекты - вариабельная норма. Вон допустим глобальный логгер на файл делается. Это плохо?
источник

VA

Vadim Apenko in Сообщество Python Программистов
Бензофуран Гетероцикл
Не, я про другое немного
Типа если кто-то захочет написать интерпретатор например. И надо проверить всё ли он корректно отрабатывает.
Извини. Я не понимаю вопроса. Ты хочешь написать интерпретатор для чего? Почему если ты хочешь написать интерпретатор, ты считаешь, что проверка синтаксиса будет уже написана кем-то другим?
источник

А

Айван in Сообщество Python Программистов
Vadim Apenko
Импорты можно (читай нужно) указать в правильном порядке в all модуля init с хендлерами. Давно эту проблему так решают.
Модули импортируются в порядке указанном в __all__? Не знал, (хотя гибкости не сказал бы что прибавляет).
Просто не пойму в чём смысл если отлично создаётся в main'e и легко и тестить и расширять
источник

А

Айван in Сообщество Python Программистов
Такая структура - говно
Я запутался, о чём ты
источник

AT

Alexander T in Сообщество Python Программистов
Vadim Apenko
Извини. Я не понимаю вопроса. Ты хочешь написать интерпретатор для чего? Почему если ты хочешь написать интерпретатор, ты считаешь, что проверка синтаксиса будет уже написана кем-то другим?
если я правильно понял, то он про тесты построения аст
источник

in Сообщество Python Программистов
Айван
Я запутался, о чём ты
По описанию похоже на очень распространенный шаблон
источник

А

Айван in Сообщество Python Программистов
Vadim Apenko
Глобалы - плохо.
Но глобальные объекты - вариабельная норма. Вон допустим глобальный логгер на файл делается. Это плохо?
Логгер — исключение не достойное упомянания)
источник

VA

Vadim Apenko in Сообщество Python Программистов
Айван
Модули импортируются в порядке указанном в __all__? Не знал, (хотя гибкости не сказал бы что прибавляет).
Просто не пойму в чём смысл если отлично создаётся в main'e и легко и тестить и расширять
Что ты имеешь в виду? Насчёт мейна в контексте бота и регистрации хендлкров? Покажи плиз пример
источник

А

Айван in Сообщество Python Программистов
По описанию похоже на очень распространенный шаблон
Ну, а с диспатчером-декоратором бывает подругому?
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Vadim Apenko
Извини. Я не понимаю вопроса. Ты хочешь написать интерпретатор для чего? Почему если ты хочешь написать интерпретатор, ты считаешь, что проверка синтаксиса будет уже написана кем-то другим?
Я предполагаю что кто-то мог написать или сгенерировать много тестов различных синтаксических фич
источник

VA

Vadim Apenko in Сообщество Python Программистов
Айван
Логгер — исключение не достойное упомянания)
Логгер лишь один из примеров. Частая практика в пайтон иметь глобальные объекты.
Я ничего плохого в этом не вижу
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
Я предполагаю что кто-то мог написать или сгенерировать много тестов различных синтаксических фич
Так как уже писалось множество интерпретаторов Python
источник

VA

Vadim Apenko in Сообщество Python Программистов
Бензофуран Гетероцикл
Я предполагаю что кто-то мог написать или сгенерировать много тестов различных синтаксических фич
Мне кажется ты mypy пытаешься создать.
источник

А

Айван in Сообщество Python Программистов
Vadim Apenko
Что ты имеешь в виду? Насчёт мейна в контексте бота и регистрации хендлкров? Покажи плиз пример
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
если я правильно понял, то он про тесты построения аст
Да, и так можно сказать
источник

VA

Vadim Apenko in Сообщество Python Программистов
Ах вот что ты имеешь в виду.
Да, это хороший метод, но имхо, менее удобный. Декораторы придумали чтоб было удобнее, быстрее.
Но да, надо следить за порядком регистрации (читай написания) хендлеров.

Кстати так, как ты показал, тесты писать удобнее должно быть.

В общем две стороны одной вафли.
источник