У меня есть две конкретные ситуации, когда я не понимаю, как импортирование работает в Python:
1-я конкретная ситуация:
Когда я импортирую тот же модуль в двух разных сценариях Python, модуль не импортируется дважды, не так ли? В первый раз, когда Python сталкивается с ним, он импортируется и второй раз проверяет, был ли импортирован модуль или он сделал копию?
2-я конкретная ситуация:
Рассмотрим следующий модуль, называемый bla.py
:
a = 10
И тогда у нас есть foo.py
, модуль, который импортирует bla.py
:
from bla import *
def Stuff ():
return a
И после этого у нас есть script, называемый bar.py
, который выполняется пользователем:
from foo import *
Stuff() #This should return 10
a = 5
Stuff()
Здесь я не знаю: возвращает ли Stuff()
10 или 5?