how to have global variables among different modul

2019-07-16 13:04发布

I investigated that scope of global variables in python is limited to the module. But I need the scope to be global among different modules. Is there such a thing? I played around __builtin__ but no luck.

thanks in advance!

3条回答
够拽才男人
2楼-- · 2019-07-16 13:19

Scopes beyond the local must be written to via a reference to the scope, or after a global or nonlocal (3.x+) directive.

查看更多
家丑人穷心不美
3楼-- · 2019-07-16 13:33

Python does not support globals shared between several modules: this is a feature. Code that implicitly modifies variables used far away is confusing and unmaintainable. The real solution is to encapsulate all state within a class and pass its instance to anything that has to modify it. This can make code clearer, more maintainable, more testable, more modular, and more expendable.

查看更多
祖国的老花朵
4楼-- · 2019-07-16 13:37

You can access global variables from other modules by importing them explicitly.

In module foo:

  joe = 5

In module bar:

  from foo import joe
  print joe

Note that this isn't recommended, though. It's much better to hide access to a module's variables by using functions.

查看更多
登录 后发表回答