python的main
Ⅰ 如何调用一个python模块的main函数
f main():
print 'test ok'
if __name__ = "__main__":
main()
# test2.py
import test
test.main()
Ⅱ python 中的if __name__=='__main__': main()是什么 意思呢
一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。
if __name__ == '__main__'就相当于是 Python模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于__name__的值。
举例子说明一下,假设有一个 const.py 文件,内容如下:
PI = 3.14
def main():
print "PI:", PI
main()
(2)python的main扩展阅读
如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。实际上,这个问题还可以衍生出其他的一些知识点,例如__main__.py文件与 Python 的-m参数。
输出结果只列出了关键的部分,应该很容易看出他们之间的差异。直接运行是把 run.py 文件所在的目录放到了 sys.path 属性中。以模块方式运行是把你输入命令的目录(也就是当前工作路径),放到了 sys.path 属性中。
Ⅲ python__main__是啥意思
python 中__name__=="__main__" 表示当前程序是直接调用的,而不是从其它程序中导入作为模块使用
Ⅳ python中的__name__ =="__main__"是什么意思呢
__name__是指示当前py文件调用方式的方法。如果它等于"__main__"就表示是直接执行,如果内不是,则用容来被别的文件调用,这个时候if就为False,那么它就不会执行最外层的代码了。
比如你有个Python文件里面
def XXXX():
#body
print "asdf"
这样的话,就算是别的地方导入这个文件,要调用这个XXXX函数,也会执行print "asdf",因为他是最外层代码,或者叫做全局代码。但是往往我们希望只有我在执行这个文件的时候才运行一些代码,不是的话(也就是被调用的话)那就不执行这些代码,所以一般改为
def XXXX():
#body
if __name__="__main__":
print "asdf"
Ⅳ python中是什么执行程序的,执行main
python是使用python解释器来运行的,如果是以模块的方式运行,它会按照代码在文件中的顺序来执行程序
if__name__=='__main__':
pass
上面这样可以写出只以当前模块运行的程序,如果是被外部程序引入,则不执行里面的代码。
Ⅵ python中main()可不可以换成别的名字
- - 楼上……
==========================
完全不需要。你可以换成你喜欢的名字。
由于python是以缩进来判断程序段,完全不需要main来指导程序首先执行模块。
对于任意一个py文件(也是模块),在执行或者import的时候会自动执行没有缩进的代码。这部分代码就相当于main了。
一般,一个py文件(模块),按找一下顺序:首先是文字编码说明和注释,然后是各种类和方法的定义(def 、class),最后是没有缩进的部分,也就是导入时自动执行的部分。你可以把这个模块的一些初始化的代码加入其中。
python唯一涉及main的地方(和你问的main完全不是一个意思)是判断模块是直接运行还是导入运行。区别在于内置属性__name__。当一个模块是直接运行时,__name__就等于__main__,如果它是作为一般模块被导入时,__name__就是模块本身的名字。
python中常常在模块中定义一个测试用的方法test(),在需要测试的时候调用mole.test()测试用。但是,在最后常常有以下代码,这部分和其他语言的main()是一个意思:
if __name__ == '__main__':
_test()
也就是在执行的时候调用test方法。所以对于python而言,根本不需要main(),只要把要调用的方法换成你自己的主程序名字的可以了,而名字可以是任意名字!
在调用这个程序时:
#>python myfile.py
就会执行满足条件,执行代码。(注意这里#>指linux下的root权限,windows在命令提示行下则是c:\program files\python26>这样的提示符。)
如果是
>>>import myfile 则不会。(这里>>>是在python里面输入)
综上,正常的python里面根本没有main(),不知道你从哪里看到的。
希望你继续使用python,这是一致简洁方便规范的语言!
Ⅶ python 怎么写main 函数
print'main'当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。
Ⅷ python中的“__name__ =="__main__"”是什么意思
__name__是指示当前py文件调用方式的方法。如果它等于"__main__"就表示是直接执行,如果不是,则用来被别的文件调用,这个时候if就为False,那么它就不会执行最外层的代码了。
比如你有个Python文件里面
def XXXX():
#body
print "asdf"
这样的话,就算是别的地方导入这个文件,要调用这个XXXX函数,也会执行print "asdf",因为他是最外层代码,或者叫做全局代码。但是往往我们希望只有我在执行这个文件的时候才运行一些代码,不是的话(也就是被调用的话)那就不执行这些代码,所以一般改为
def XXXX():
#body
if __name__="__main__":
print "asdf"
Ⅸ 如何理解python中的main函数
这个脚本被执行的时候,__name__ 值就是 __main__ ,才会执行 main()函数 如果这个脚本是被 import 的话,__name__的值不一样。main()函数就不会被调用。 这个句子用来写既能直接运行,又能给其他python程序import,提供库调用的脚本