Импорт случайного числа из разных модулей

1

Я новичок в 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'

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

  • 2
    Вы должны import random в файл b .
Теги:
module

1 ответ

2
Лучший ответ

Это логично, так как вы не определили переменную с именем 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)
  • 0
    большое Вам спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню