属性介绍

  • __name__是一个变量,前后加了双下划线是系统定义的名字
  • A模块若是被B模块导入,在B模块中获取A模块"__name__"的值就是A模块的名字(即:文件名)
  • 若直接执行模块(即:执行.py文件),__name__的值为’__main__’

 

使用示例

1.现有python包结构如下:

Python模块的__name__属性介绍

2. moduleApython.py模块代码及在该模块运行结果如下:

# 获取模块的“__name__”数据,运行当前模块“__name__”的值是“__main__”
# 获取__name__属性的值
def get_name():
    return __name__

# 运行此模块打印(被其他模块调用不运行):运行当前模块,__name__的值是__main__
if __name__ == '__main__':
    print(f'运行当前模块,__name__的值是{get_name()}')

Python模块的__name__属性介绍

3. moduleBpython.py模块代码及在该模块运行结果如下:

# 获取模块的“__name__”数据,运行当前模块“__name__”的值是“__main__”
print(f"当前模块__name__的值是:{__name__}")

# 导入moduleBpython模块时,也会运行打印方法
import moduleApython
print(f"调用的模块的属性__name__的值是:{moduleApython.get_name()}")  # 模块的属性__name__的值是:moduleApython

Python模块的__name__属性介绍

 

注:如果在moduleApython中测试已有的方法是否正确,使用“if __name__ == '__main__':”只在当前模块运行,避免被其他模块调用之后会执行自己的测试方法

 

相关文章:

  • 2022-01-11
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2022-02-25
  • 2021-05-24
  • 2021-08-21
  • 2022-01-29
猜你喜欢
  • 2021-11-15
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
  • 2021-07-04
相关资源
相似解决方案