Как указано в комментарии, ваш код не делает слишком много смысла. Давайте посмотрим на файл Two.py
:
#Two.py
def example1():
print "Other thing!"
example2()
Файл containts определение для функции с именем example1
, который печатает строку. Когда он исполняется, example2()
никогда не будет вызван, потому что example2()
никогда не был объявлен нигде. Если вы объявите его локально, вам нужно будет добавить функцию в Two.py
, которая ее определяет. Например, добавьте следующие строки кода в файл Two.py
:
def example2():
print "Example 2 was called"
Теперь, когда вы пытаетесь вызвать функцию, компилятор будет знать, что вы хотите, чтобы это сделать, потому что вы объявили его на месте. Если, с другой стороны, вы не объявили функцию в том же файле, но указали ее в другом месте, вы можете импортировать функцию из другого файла. Поскольку One.py
имеет определение для example2()
, вы можете импортировать модуль в свой Two.py
, чтобы получить к нему доступ. Ваши последние два файла должны выглядеть так:
#Two.py
from One.py import example2 #instead of importing it from elsewhere, you can also define it in the actual file
def example1():
print "Other thing!" #notice the indentation that you left out
example1()
example2()
#One.py
def example2():
print "something!"
Это будет выполнено без ошибок.
Чтобы понять, что пошло не так с вашей реализации, рассмотрим следующую строку кода:
from Two.py import example2
Вышеуказанные состояния, Eсть какой-то файл называется Two.py
и что он содержит определение функции под названием example2
. Но если вы внимательно посмотрите на свой файл Two.py
, вы увидите, что для импорта не было example2
. Таким образом, компилятор выдает предупреждение о том, что что-то не так.
btw Ваш импорт неправильный, и почему вы переопределили example2. Просьба уточнить. –
Это не имеет никакого смысла. Разве вы не должны импортировать 'example1' из' Two.py'? Обратите внимание, что вы не указываете '.py' -' из Two import example1'. Чего вы на самом деле пытаетесь достичь ?! – jonrsharpe