python – 获取类的self .__ module__,无论如何导入

栏目: Python · 发布时间: 6年前

内容简介:我有一个库类,它取决于它是如何导入的,一个依赖于self .__ module__的方法来识别更改行为 – 取决于我是相对还是绝对地导入它.有没有办法强制类的self .__ name__属性绝对回归?我意识到一个解决方案是强制每个人以相同的方式导入子类,但是想知道是否有办法从库的角度强制它.总结结构

我有一个库类,它取决于它是如何导入的,一个依赖于self .__ module__的方法来识别更改行为 – 取决于我是相对还是绝对地导入它.有没有办法强制类的self .__ name__属性绝对回归?

我意识到一个解决方案是强制每个人以相同的方式导入子类,但是想知道是否有办法从库的角度强制它.

总结结构

我在库中有一个模块

project/
    mylib/
        foo.py
            LibraryClass
            def get_name(self):
                return "%s.%s.%s" % \
                    (self.__module__, self.__class__.__name__, self.some_init_property)
    prog/
        utils.py
            fooClass(LibraryClass)
        bar.py
            def some_func()
               #see below

在mylib中,我有一个导入器通过我们的django项目的设置文件中的classname字符串导入LibraryClass的所有子类.

基本上,我们看到的行为取决于您的导入方式.

所以我在bar.py中观察到两种行为:

def some_func_absolute():
    from prog.utils import fooClass
    f = fooClass("lalala")
    print f.get_name()
    #prints prog.utils.fooClass.lalala

def some_func_relative():
    from utils import fooClass
    f = fooClass("lalala")
    print f.get_name()
    #prints foo.fooClass.lalala

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

转型之战

转型之战

吴晓波 / 2015-7-1

互联网时代大潮席卷而来,互联网究竟是“魔法手杖”,还是“效率金箍棒”?传统企业如何正确借助和利用互联网思维帮助自身转变思维、完成企业转型升级?本书分两篇,上篇为传统行业互联网转型极具代表性和借鉴意义的案例,下篇精选吴晓波转型大课的独 家内容,梳理了吴晓波、刘伟、刘润、金霞、刘博、赵峰、张蕴蓝、张荣耀、李嘉聪、曾玉波等各行业10位导师关于互联网思维的精华理念和观点,其中囊括各传统行业互联网转型成功的......一起来看看 《转型之战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试