zoukankan      html  css  js  c++  java
  • python中__name__的意义以及作用

    python中__name__的意义以及作用

    2017年09月24日 17:06:27 IAMoldpan 阅读数 24272更多

    分类专栏: python

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本文链接:https://blog.csdn.net/IAMoldpan/article/details/78077983

    首先定义了一个test.py的文件,然后再定义一个函数,并在函数定义后直接运行:

    test.py
    
    def HaveFun():
        if __name__ == '__main__':
            print('I am in my domain,my name is %s' % __name__)
        else:
            print('Someone else calls me!,my name is %s' % __name__)
    
    
    HaveFun()
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行test.py结果:

    I am in my domain,my name is __main__
    • 1

    然后继续创建一个main.py的文件,程序如下:

    main.py
    
    import test
    
       test.HaveFun()
    • 1
    • 2
    • 3
    • 4
    • 5

    执行main.py文件,结果如下:

    Someone else calls me!,my name is test
    Someone else calls me!,my name is test
    • 1
    • 2

    这里打印了两次,第一次实在main.py在进行import test的时候,进行的打印,第二次才是test.HaveFun()中执行的打印,可以发现,这里的 
    __name__名称已经发成了变化,从之前的main变成了模块名称test。

    总结:

    1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。 
    2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

  • 相关阅读:
    hdu 5112 A Curious Matt (水题)
    hdu 5464 Clarke and problem(dp)
    (2)线程优先级、线程安全
    (1)进程与线程
    并发与并行
    (5) 守护线程与线程阻塞
    java线程中断2
    sleep()和wait()的区别
    java线程中断
    java创建线程的三种方式及其对比
  • 原文地址:https://www.cnblogs.com/grj001/p/12224038.html
Copyright © 2011-2022 走看看