我有一个代码module.py
,它被导入到我的main.py
,这样我就可以使用它的函数,这些函数是用def
定义的。导入的模块只有def
函数
函数中有一些if
语句,我希望从main.py
自动操作它们
比如说
主.py
import module as md
BoolIfState=True
for i in range(10):
md.runfunction(i)
模块.py
def runfuntion(i):
if BoolIfState:
print i
else:
print i-10
return None
在这里,main.py
中BoolIfState
的定义改变了runfunction
与module
的行为方式。我尝试在函数中添加global BoolIfState
,但没有改变行为
显然,实际的代码要困难得多,但基本思想是一样的
有办法吗
Edit:我避免将变量作为函数的输入,因为如果给定所有需要添加的变量,那么它就会变得杂乱无章。我需要对大约5个变量进行同样的处理,这样一来,在模块内部定义函数的清洁度就丧失了
您可以将所有全局变量打包成一个单例类(singleton class example)
这样,您就可以维护一个类实例,其中包含可以跨代码库使用/访问的成员变量
相关问题 更多 >
编程相关推荐