[python] globals()['Foo']=value 和 setattr(module, 'Foo', val,globalssetattr,foo.pyclass
[python] globals()['Foo']=value 和 setattr(module, 'Foo', val,globalssetattr,foo.pyclass
foo.py
class Foo(object): foo_str = 'foo_str' def __call__(self): print('call', Foo.foo_str) @staticmethod def config(arg=None): if arg: Foo.foo_str = arg import sys foo = Foo() foo.Foo = Foo foo.config = Foo.config sys.modules['foo'] = foo globals()['Foo'] = foo.Foo #1 #setattr(foo, 'Foo', foo.Foo) #2 Foo.config()
bar.py
import foofoo()foo.config('new str')foo()
为什么bar.py的运行情况是(python 2.7.3):
只注释掉1报错Traceback (most recent call last): File "bar.py", line 3, in <module> foo() File "/tmp/foo.py", line 5, in __call__ print('call', Foo.foo_str) AttributeError: 'NoneType' object has no attribute 'foo_str'只注释掉2正常
('call', 'foo_str') ('call', 'new str')
编橙之家文章,
相关内容
- 用python编写微信公共平台的后台如何在用户关注之后自
- Python:如何解析这个页面呢?,python解析页面,请问,使
- Django不同app之间相互import,是否破坏其“松耦合”的原
- python 中有类似 C++ 中 const reference 的用法吗?,pythonc
- scrapy 使用item export输出中文到json文件,内容为unicode码
- Python:from scrapy.http import Request,pythonscrapy.http,环境:
- MongoDB/Mongoengin 如果设计一个课程表字段,mongodbmongoen
- object内的变量怎样call,object内变量call,如题。一个lis
- mongodb高级查询js,mongodb高级查询,mongo数据表有一个字
- 关于falsk一个文件上传的问题,falsk文件上传,当配置上
评论关闭