Я новичок в python, и мне нужна ваша помощь, чтобы лучше понять, как использовать модули.
Предположим, у вас есть два модуля: a.py
и b.py
a.py
имеет следующие строки кода
import b
import random
a = random.random()
print(a)
и b.py
haw следующие строки кода:
b = random.random()
print(b)
Однако, когда я запускаю код, я получаю следующее сообщение:
E0602:Undefined variable 'random'
Это проблема, или это логично?
Это логично, так как вы не определили переменную с именем random
в файле b.py
Модуль (например, b.py
имеет свою собственную область), поэтому, если вы не ссылаетесь на встроенную переменную или импортируете переменную, переменная не загружается.
Это имеет смысл, поскольку в противном случае импорт в другом модуле может полностью изменить переменные в другом модуле. Таким образом, это приведет к "нестабильным" реализациям. Более того, даже если это будет работать (оно не работает, по крайней мере, не без использования некоторых "хакерских" функций, которые изменяют процедуру импорта), вы импортируете random
после импорта b
, поэтому во время импорта b
вы даже не загрузили random
модуль в любом случае.
Таким образом, вы можете позволить этой работе:
файл a.py
:
import b
import random
a = random.random()
print(a)
файл b.py
:
import random
b = random.random()
print(b)
import random
в файлb
.