zoukankan      html  css  js  c++  java
  • 终于明白if __name__ == '__main__':了

    其实很简单

    if __name__ == '__main__': 就是一个判断

    __name__是系统变量

    __name__有一个特性,在当前文件运行是__main__,调用文件就是调用文件的路径了 

    可以先                     print(__name__)

                                   运行当前文件

                                   结果为"__main__"

    但是当你用当前文件调用其他文件(模块)时,文件里面有print(__name__),就是文件路径了

    假如我cal文件代码如下

    def add(x, y):
        return x + y
    
    
    print(__name__)

    我在test文件调用cal文件

    解释一下imoprt会做什么

    1.会执行导入的文件的代码

    2.引用导入文件的变量

    import cal
    这里执行结果就是cal文件的路径了
    执行test文件,不是执行cal文件

    知道这个特性就很容易明白if __name__ == '__main__':是有什么用的了

    还不明白,我给你们解释一下:

    if __name__ == '__main__':在模块里面用于放测试代码,因为导入模块就会执行模块的代码,但是模块的测试代码我们是不需要执行的,我们只需要模块的功能,这是就要用到if __name__ == '__main__':

    当别人调用这个模块的时候if__name__就不等于"__main__"了

    __name__是模块的路径了,所以if__name__是不等于__main__的,不满足条件,不执行if __name__ == '__main__':下面的代码

    但是你去模块文件执行模块文件,__name__就是等于__main__了,满足条件.所以可以用于测试

  • 相关阅读:
    数据取证任务
    VMware虚拟机重置密码
    pon(无源光纤网络)
    Gpon与Epon的区别
    DNS相关
    牛人博客收集
    值得细细品读的URL资源
    SQL注入
    IPSec方案部署(多业务场景)
    python专题-函数式编程
  • 原文地址:https://www.cnblogs.com/kelaiji/p/10864831.html
Copyright © 2011-2022 走看看