Это логично, поскольку вы не определили переменную с именем random
в файле b.py
.Модуль (например, b.py
имеет собственную область видимости), поэтому, если вы не ссылаетесь на встроенную переменную или не импортируете переменную, переменная не загружается.
Это имеет смысл, посколькув противном случае импорт в другой модуль может полностью изменить переменные в другом модуле.Таким образом, это приведет к "нестабильной" реализации.Более того, даже если это сработает (по крайней мере, без использования «хакерских» функций, которые изменяют процедуру импорта), вы импортируете random
после импорта b
, поэтому во время импорта b
,Вы даже не загрузили модуль random
.
Таким образом, вы можете разрешить эту работу с:
file a.py
:
import b
import random
a = random.random()
print(a)
файл b.py
:
<b>import random</b>
b = random.random()
print(b)