How is the __name__ variable in a Python module defined?

前端 未结 2 1734
感情败类
感情败类 2020-12-05 13:34

I\'m aware of the standard example: if you execute a module directly then it\'s __name__ global variable is defined as \"__main__\". However, nowhe

2条回答
  •  爱一瞬间的悲伤
    2020-12-05 14:03

    The __name__ variable is an attribute of the module that would be accessible by the name.

    import os
    assert os.__name__ == 'os'
    

    Example self created module that scetches the import mechanism:

    >>> import types
    >>> m = types.ModuleType("name of module") # create new module with name
    >>> exec "source_of_module = __name__" in m.__dict__ # execute source in module
    >>> m.source_of_module
    'name of module'
    

    Lines from types module:

    import sys
    ModuleType = type(sys)
    

提交回复
热议问题