Przestrzeń nazw builtins związana z wykonaniem bloku kodu jest faktycznie znaleziona przez wyszukanie nazwy __builtins__
w globalnej przestrzeni nazw; powinien to być słownik lub moduł (w tym ostatnim przypadku używany jest słownik modułu). Domyślnie, w module __main__
, __builtins__
jest wbudowanym modułem __builtin__
(uwaga: nie 's'); kiedy w jakimkolwiek innym module, __builtins__
jest aliasem dla samego słownika modułu __builtin__
. __builtins__
można ustawić na słownik utworzony przez użytkownika, aby utworzyć słabą formę ograniczonej realizacji.
Tak naprawdę to szuka się __builtins__
(skoro jesteś w głównym module)
>>> __builtins__.max
<built-in function max>
Ale jak wspomniano powyżej, to tylko aliasem __builtin__
(które nie jest częścią głównej przestrzeń nazw modułu, mimo że została załadowana i przywoływana przez __builtins__
).
'__builtins __. Max' – jamylak