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

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

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

MMMHUHU 2019-02-07 10:13:30
print(__name__,type(__name__))结果:__main__ <class 'str'>我的疑问是__name__是哪个对象的属性?相当于self.__name__么?还是thismodule.__name__?经起风了大神点拨,果然import pandas as pdprint(pd.__name__)pandas
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

__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-21
?
慕森王

TA贡献1777条经验 获得超3个赞

当前主程序的名字

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号