Почему после импортирования только одной функции модуля она видит другие объекты этого же модуля?
Допустим, в модуле my_library
есть функция a
, которая использует функцию b
, объявленную в этом же модуле:
# my_library.py
def a():
print("I'm function A and I'm running B inside me")
b()
def b():
print("I'm function B")
Я импортирую из модуля только функцию a
:
from my_library import a
Почему a
видит функцию b
, которую я не импортирую и которая не определена внутри самой функции a
?
Ответы (1 шт):
Автор решения: u111
→ Ссылка
Когда вы импортируете только функцию a
, функция b
никуда не девается. Создается новая область видимости со всеми переменными модуля, и одна функция этого модуля видит все другие переменные данного модуля.