python学习

关于__name__

2019-01-24  本文已影响0人  二傻吧

在python中大家经常见到__name__=='__main__'的内容。这里讲一下原理:

首先需要了解__name__是属于python中的内置类属性,就是它会天生就存在与一个python程序中,代表运行的程序名称,例如图1和图2。

比如图1所示的一段代码里面(这个脚本命名为pcRequests.py),我只设了一个函数,但是并没有地方运行它,所以当run了这一段代码之后我们有会发现这个函数并没有被调用。但是当我们在运行这个代码时这个代码的__name__的值为__main__(一段程序作为主线运行程序时其内置名称就是__main__)。

图1,实例代码 图2.图1内容运行结果

当一段程序被其他程序所引用,作为模块被导入引用时,它的内置名称就是这个脚本的名称。

如图3:

图3,被引用时的__name__

看到这里应该能明白,自己的__name__在自己用时就是main,当自己作为模块被调用时就是自己的名字,就相当于:我管自己叫我自己,但是在朋友眼里我就是小仙女一样,:)

所以当一般if __name__ == '__main__'出现时,意思是只有当自己作为主程序运行时,if条件语句中的内容才会被执行。看到这里大家懂了吗~

上一篇下一篇

猜你喜欢

热点阅读