Wymienialne moduły
Dlaczego Python nie pozwala modułom na posiadanie__call__
? (Poza oczywistym, że nie byłoby łatwo zaimportować bezpośrednio.) W szczególności, dlaczego nie używaa(b)
składnia znajdź__call__
atrybut jak w przypadku funkcji, klas i obiektów? (Czy wyszukiwanie jest po prostu niekompatybilne dla modułów?)
>>> print open("mod_call.py").read()
def __call__():
return 42
>>> import mod_call
>>> mod_call()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
>>> mod_call.__call__()
42