Запуск функции из основного файла в модуле

Допустим у меня в основном коде есть функция:

def func1(a, b):
    print(a, b)

И есть второй файл с названием file2.py. Как мне из файла file2.py вызвать функцию func1? (Мне нужно импортировать 2 файл в основном коде, и через функцию во втором файле вызвать функцию func1). Надеюсь понятно объяснил)


Ответы (1 шт):

Автор решения: OPTIMUS PRIME

file2.py

a = 10
b = 20

def call(fn): # Получив любую функцию в виде аргумента,
    fn(a, b)  # вызовет её с аргументами (a, b)

file1.py

import file2

def func1(x, y):
    print(x, y)

file2.call(func1) # Передаем ожидаемый аргумент (функцию).
# 10 20

В примере функции ничего не возвращают, но могли бы:

file2.py

a = 10
b = 20

def call(fn):
    return fn(a, b)

file1.py

import file2

def func1(x, y):
    return x + y

result = file2.call(func1)
print(result) # 30
→ Ссылка