Size: a a a

2019 July 31

DI

Danil Ivanov in SPb Python
с golang весело будет )
источник

W

Womchik in SPb Python
php будет?
источник
2019 August 01

И

Ильяс in SPb Python
всем привет
а как с помощью typing указать тип переменной, которая будет принимать целый модуль?

типа
import imaplib
from typing import Union

import emuimaplib


def func(backend: Union[imaplib, emuimaplib]):
   …
источник

DI

Danil Ivanov in SPb Python
Ильяс
всем привет
а как с помощью typing указать тип переменной, которая будет принимать целый модуль?

типа
import imaplib
from typing import Union

import emuimaplib


def func(backend: Union[imaplib, emuimaplib]):
   …
источник

И

Ильяс in SPb Python
там просто ниже по функции идут обращения к функциям модуля, mypy ругается
источник

И

Ильяс in SPb Python
а ModuleType естесстно их не имеет
источник

E

Eugene in SPb Python
Ильяс
там просто ниже по функции идут обращения к функциям модуля, mypy ругается
🤷‍♂️ выкинь ты этот mypy, ну хотя бы в этом месте. Он никогда и не сможет такое уметь, то есть знать, что там в модуле есть. Либо это просто недоработка mypy, ему должно быть достаточно ModuleType
источник

И

Ильяс in SPb Python
Eugene
🤷‍♂️ выкинь ты этот mypy, ну хотя бы в этом месте. Он никогда и не сможет такое уметь, то есть знать, что там в модуле есть. Либо это просто недоработка mypy, ему должно быть достаточно ModuleType
откуда такая ненависть к нему? да и вопрос не в том что оставлять его или нет, а в том что можно ли как-то определить тип конкретного модуля?
источник

E

Eugene in SPb Python
Ильяс
откуда такая ненависть к нему? да и вопрос не в том что оставлять его или нет, а в том что можно ли как-то определить тип конкретного модуля?
Не ненависть, а правило разумной достаточности. Если что-то не натягивается и мешает двигаться вперед, надо это выбросить.

Ты можешь попробовать определить свой тип через typing.NewType
источник

E

Eugene in SPb Python
MyModuleType = NewType('MyModuleType', my_module)
источник

И

Ильяс in SPb Python
спасибо🙂
источник

E

Eugene in SPb Python
Или просто даже TypeVar
источник

E

Eugene in SPb Python
TypeVar('MyModuleType', my_module)
источник

E

Eugene in SPb Python
нет, через TypeVar не выйдет
источник

S

Stan in SPb Python
Eugene
Не ненависть, а правило разумной достаточности. Если что-то не натягивается и мешает двигаться вперед, надо это выбросить.

Ты можешь попробовать определить свой тип через typing.NewType
А что вместо него?
источник

И

Ильяс in SPb Python
Stan
А что вместо него?
да скорее не вместо него, а что если начинаешь его использовать, то не увлекайся и знай меру
источник

E

Eugene in SPb Python
Да, именно так, например, с рекурсивными типами ну ничего не сделать.
источник

SM

Serge Matveenko in SPb Python
Eugene
🤷‍♂️ выкинь ты этот mypy, ну хотя бы в этом месте. Он никогда и не сможет такое уметь, то есть знать, что там в модуле есть. Либо это просто недоработка mypy, ему должно быть достаточно ModuleType
Скоро будет уметь.
https://www.python.org/dev/peps/pep-0544/
А сейчас надо стабы делать
источник

E

Eugene in SPb Python
okay
источник

И

Ильяс in SPb Python
спасибо!
источник