У меня есть код module.py
, который импортируется в мой main.py
, поэтому я могу использовать его функции, которые определены с def
. Импортированный модуль имеет только функции def
.
В функциях есть несколько операторов if
, которыми я бы хотел автоматически управлять из main.py
.
Как, например,
main.py
import module as md
BoolIfState=True
for i in range(10):
md.runfunction(i)
module.py
def runfuntion(i):
if BoolIfState:
print i
else:
print i-10
return None
Здесь определение BoolIfState
в main.py
изменяет поведение runfunction
по сравнению с module
. Я попытался добавить global BoolIfState
внутри функции, но это не изменило поведение.
Очевидно, что реальные коды намного сложнее, но это та же основная идея.
Есть ли способ сделать это?
Редактировать: я избегаю давать переменную в качестве входных данных для функции, потому что тогда она будет загромождена, учитывая все переменные, которые могут понадобитьсябыть добавленным. Мне нужно то же самое, чтобы примерно 5 переменных, и с этим, чистота наличия функций, определенных внутри модуля, теряется.