Импорт случайного числа из разных модулей - PullRequest
0 голосов
/ 16 октября 2018

Я новичок в python и мне нужна ваша помощь, чтобы лучше понять, как использовать модули.

Предположим, у вас есть два модуля a.py и b.py.

a.py имеет следующие строки кода

import b
import random

a = random.random()
print(a)

и b.py имеют следующие строки кода:

b = random.random()
print(b)

Однако, когда я запускаюПо коду я получаю следующее сообщение:

E0602:Undefined variable 'random'

Это проблема или это логично?

1 Ответ

0 голосов
/ 16 октября 2018

Это логично, поскольку вы не определили переменную с именем 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...