print(__name__,type(__name__))结果:__main__ <class 'str'>我的疑问是__name__是哪个对象的属性?相当于self.__name__么?还是thismodule.__name__?经起风了大神点拨,果然import pandas as pdprint(pd.__name__)pandas
1 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
__name__
是一个built-in变量,它的值是评估模块/包的名字得到的。所以如果你import一个模块/包,那自然就是模块/包的名字。但如果你直接运行某个python文件,那么作为顶层脚本运行时,__name__
就是__main__
。所以会经常看到
if __name__ == '__main__': code_block
约定俗成上来说,如果你设计的是一个功能性的模块,换言之,希望被用户导入使用的话,那么你应该在上面code_block中实现简单的单元测试或sanity check。因为这部分代码在import时不会触发。只有在直接运行时才会触发。
经起风了大神提示又做了测试,果然:
import pandas as pdprint(pd.__name__)
pandas
添加回答
举报
0/150
提交
取消