Иной раз, желая уточнить что-либо, я лазаю в ветке форума по Питону. Вот и недавно, листая старые посты, нарвался на диспут: зачем иные юзеры импортируют одновременно модули appuifw и appuifw2, ведь, мол, во втором есть все, что есть в первом. Так-ли это на самом деле? В модуле appuifw есть класс InfoPopup, такое себе инфоокошко, зачастую удобное. Но если вы сделаете from appuifw import * , то никакого InfoPopup вы не заюзаете, ибо заглянув в переменную __all__ модуля appuifw, мы увидим, что автор(ы) модуля не захотел(и)/забыл(и) туда добавить имя этого класса. Модуль же appuifw2 тянет все имена инструкцией from appuifw import * из модуля appuifw, так что, думаю, понятно, к чему я клоню.
Поправьте, если я неправ.
Похожие файлы
Здесь находятся
всего 0. За сутки здесь было 0 человек
Комментарии 2
Я думаю, всё просто: модуль appuifw - это стандартный модуль для построения интерфейса, я бы даже сказал базовый, а класс InfoPopup есть только на 9-ой оси, то есть опционален.
Поэтому некорректно было бы помещать этот идентификатор в публичный интерфейс модуля.


Константы для app.layout тоже ведь начиная с ос 8.1. Можно было и это также:
if e32.s60_version_info >= (3, 0): __all__ += (\'InfoPopup\', ). Хз. Имхо конечно, но, думаю, это непорядок, что в appuifw2 нет InfoPopup, вот и приходится в этом случае наряду с appuifw2 импортировать appuifw
0 ответить