【python】__name__函数的用法详解!

      上一篇中,说到了__init__函数的使用,__init__函数是在类中实现,它在创建对象时自动执行,用于初始化对象的属性。今天我们来说一下__name__函数,__name__函数的主要作用为:

1.执行python脚本  2.导入到别的脚本中使用

我们来看看直接打印__name__函数会返回什么?

print(__name__)

控制台输出:

分析:
所以,我们是不是就可以理解为__name__ == __main__,我们继续往下看。

我们通过一些实例来了解:

实例1:

if __name__ == '__main__':
    print('我爱python!')

控制台输出:

分析:

咱们给它加入if来作一个判断,程序执行,__name__ 这个变量的值就是 "__main__"。

实例2:

class test_main:

    def main(self):

        print('hello world!')

    def main_2(self):
        print('hello python!')



if __name__ == '__main__':
    print('我爱python!')
    a = test_main()
    a.main()

控制台输出:

分析:

在实际项目中,__name__函数主要作为整个项目的执行入口,不想要执行的函数等就可以不调用,上述实例基本上都是在本(.py)文件执行,那么接下来我们来说一下导入到别的(.py)文件里的使用方法。

实例3:

我们新建两个(.py)文件,分别为TEST_1.py和TEST_2.py

EST_1.py

if __name__ == '__main__':
    print('我爱python!')
else:
    print('被调用!')
    print(__name__)

TEST_2.py

import TEST_1

class test_main:

    def main(self):

        print('hello world!')

    def main_2(self):
        print('hello python!')



if __name__ == '__main__':
    print('我爱python!')
    a = test_main()
    a.main()
    TEST_1

控制台执行TEST_2.py文件输出:

分析:

由此可知,TEST_1.py被import导入到TEST_2.py,则该__name__名字为文件名字,也就是TEST_1,通过if做判断,不等于__main__,则就不会执行后面的方法。

总结:

当 __name__ 值为 "__main__" 的即为脚本,反之,即为导入的模块或者库(方法)。

作者:==PP

物联沃分享整理
物联沃-IOTWORD物联网 » 【python】__name__函数的用法详解!

发表回复