我可以在没有全局变量的情况下完成这项工作吗?



library.py

str = '' 
def setStr(input):
   global str
   str = input
def getStr():
   return str

现在我可以导入模块并更新它们...

module1.py

import library
import module2
library.setStr('wow')
module2.run()

module2.py

import library
def run():
        print(library.getStr())

输出

wow

有没有办法在没有全球呼叫的情况下创建我展示的功能?

谢谢!

那么,我如何复制日志记录的工作方式,但没有全局变量呢?

您不能,因为logging使用全局(模块级)变量来存储其配置。 例如,根记录器保存在全局变量中。

(我的意思是,你可以让这些变量存在于类级别而不是模块级别,就像Logger.manager所做的那样,但无论哪种方式,它的代码气味都是相同的。

相关内容

  • 没有找到相关文章

最新更新