找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1846|回复: 1

[求助] 有关__name__属性的问题

5

主题

6

帖子

6

积分

贫民

积分
6
johnny12cat 发表于 2018-10-27 22:39:08 | 显示全部楼层 |阅读模式
在写程序时往往会用到__name__,例如:if __name__ == '__main__':
                                                                      main()
这时如果该程序是主程序,那么__name__属性的值就是___main__,但是id(__name__)结果又不等于id('__main__')的结果,我的疑问就是通常当一个变量指向了一个字符串,那么该变量的id值就应该是该字符串的id值,那为什么这里的__name__属性值不是这样?请大神指教,谢谢


回复

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
firstrose 发表于 2018-11-15 17:35:21 | 显示全部楼层
  1. c="__main__"
  2. print(__name__)
  3. print(id(__name__))
  4. print(id(c))
  5. print(id("__main__"))
复制代码


在python3.6.5下运行,结果是一样的。可能你用的版本没有做字符串常量合并吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表