python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

最近学习python的时候经常会看到好多py文件中都有if _name_ == ‘_main_‘: 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则。

平时我们使用python IDE编写py程序的时候 一般是很少用到if name == ‘main‘:这句话的,因为我们在运行py文件时,没有牵扯到其他目录下自定义的py文件,所以不用写这句话就可以无忧地执行当前py文件中的函数,但 想想 如果要是需要调用其他的py文件中的自定义函数呢?这就需要使用if name == ‘main‘:了。

举例:

def a(x):
    return x*2
if __name__=="__main__":
    print a(2) #print 4

这里使用的单文件运行,输出为4;并且这里使用了 if name==”main“: (如果不使用这句话,输出效果是一样的)

如果在test1.py文件中定义了一个函数a,想要在test2.py文件中调用a函数,这时候就需要if name==”main“:了。

举例说明:

test1.py

def a(x):
    return x*2
if __name__=="__main__":
    print a(2)

test2.py

from test1 import *
print a(3) #6

这里在test2中调用test1中自定义函数a,输出结果为6。

这里如果在test1中没有使用if name==”main“:这句话,则输出结果中会多出一次计算结果,原因是如果没有if name==”main“:则test2中会对该文件中的可执行语句都会执行(相当于没有main函数)。如果有if name==”main“:的话,相当于判断一下test1文件是否是单独执行的test1文件还是在其他文件中调用的自定义函数,这里的例子就是第二种情况了,所以在if name==”main“:下面的语句就不会执行。

另外,这里也讲讲如何在另一个文件中调用当前文件中的自定义函数?

例如,需要在python文件a中调用同级目录test文件夹中的b文件中的c()自定义函数,如何在a文件中实现?

from test.b import *     #从文件路径为test.b的文件中导入所有的函数
c( ) #调用b文件中的c函数

版权声明:本文为博主原创文章,未经博主允许不得转载。

python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

时间: 2024-10-05 16:16:04

python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法的相关文章

【Python中if __name__ == '__main__': 的解析】

在很多Python代码中,在代码的最下方会看到  if __name__ == '__main__':,这段代码到底有什么用呢? 在理解这个语句的作用前,需要知道的是,一般的Python文件后缀为.py,其可以拿来执行,也可以用来作为模块使用import导入.当Python解析器读取一个源文件时它会执行所有的代码.在执行代码前会定义一些特殊的变量.如果解析器运行的模块(源文件)作为主程序,它将会把__name__变量设置成"__main__".如果只是引入其他的模块,__name__变

python中if __name__ == '__main__': 的解析

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". //////

Python中 if __name__ == '__main__': 详解

一个python文件就可以看作是一个python的模块,这个python模块(.py文件)有两种使用方式:直接运行和作为模块被其他模块调用. __name__:每一个模块都有一个内置属性__name__.而__name__的值取决与python模块(.py文件)的使用方式. 如果是直接运行,那么这个模块的__name__值就是“__main__”: 如果是作为模块被其他模块调用,那么这个模块(.py文件)的__name__值就是该模块(.py文件)的文件名,且不带路径和文件扩展名. 参考: ht

python中if __name__ == '__main__': 介绍

当我们下载一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来简单的介绍一下它的作用 首先我们要知道,模块是对象,并且所有的模块都有一个内置属性 __name__. 如果 import 一个模块,那么模块__name__ 的值通常为模块文件名. 如果以一个标准的程序样直接运行模块,那么模块__name__ 的值将是一个特别缺省"__main__". 所以我们一般用if __name__ == '__main__'来判断是否是在直接运行

python中if __name__ == "__main__":的解释

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". //////

python基础之python中if __name__ == '__main__': 的解析

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". //////

python中if __name__ == '__main__': 解析

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ ==  '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import  一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__  的值将是一个特别缺省"__main__". ///

Python 中 if __name__ == '__main__' 的正确理解

程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始.同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口. 而 Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行.也就是从脚本第一行开始

python 中 if __name__ == '__main__' 判断的作用

假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行这个a.py文件时, __name__ == '__main__'为真,后面的语句可以执行 当你在别的文件中import a文件,当做模块使用时,__name__ == '__main__'为假,后面的语句不执行了,只有前面定义的函数其作用. 如果没有这句话话,你在b.py中引用a的话,那些执行语句