为了账号安全,请及时绑定邮箱和手机立即绑定

python中的__name__是哪个对象的属性?相当于self.__name__么?

python中的__name__是哪个对象的属性?相当于self.__name__么?

浮云间 2019-02-05 19:55:07
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


查看完整回答
反对 回复 2019-02-05
  • 1 回答
  • 0 关注
  • 589 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信