Вызов функции без импорта другой функции файла в том же каталоге - PullRequest
0 голосов
/ 26 марта 2019

Я хочу вызвать im1.py метод want_to_call () из im2.py. Тестовые классы func1 () и func1 () будут вызваны методом some_func () im1 .... Ваша помощь будет принята с благодарностью.Заранее спасибо

im1.py

from im2 import Test

def some_func(value):
    Test.func1()
    print(value)


def want_to_call():
    return 'called from im2'

some_func("ola")

im2.py

from im1 import want_to_call

class Test:
    def func1():
        variable = want_to_call()
        print(variable)
        print('How do I call want_to_call method in im1')


class Test1:
    def func():
        print('Thanks in advance')

1 Ответ

2 голосов
/ 26 марта 2019

Не делайте этого.

Совет "только импортировать модуль" работает ( Как избежать циклического импорта в Python? ).Но вам было бы лучше поместить свои функции в большее количество файлов, которые расположены в иерархии.Другими словами, прерывает цикл .Это будет полезно для организации вашего кода и ваших модульных тестов, а также для того, как вы думаете о вашей проблеме высокого уровня.

Здесь приведены определения want_to_call() и func1() принадлежат дополнительным файлам, которые оба im1 и im2 import.

Тесты должны зависеть от целевого кода, а не наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...