Python代码的执行顺序/过程

1.python程序是按顺序自上而下执行的,而C++main()是程序的入口

例如以下代码,结果如注释所示,这里虽然有个main函数,但是最先输出的不是“main”而是“test1”

 #test1

 print ("test1")

 def Fun():

     print ("Fun")

 def main():

     print ("main")

     Fun()

 if __name__ == '__main__':

     main()

 '''

 test1

 main

 Fun

 '''

2.一段python程序以py文件运行时,文件属性__name__为main;作为模块导入时,文件属性__name__为文件名:

 #test.py

 def Fun():

     print ("Fun")

 if __name__ == '__main__':

     print ("main")

     Fun()

 '''

 main

 Fun

 '''

 

3.总结

C++中以main函数为执行的起点;Python中首先执行最先出现的非函数定义和非类定义的没有缩进的代码,如示例一之中的第一行。

一份程序为了区分主动执行还是被调用,Python引入了变量__name__,当文件是被调用时,__name__的值为模块名,当文件被执行时,__name__'__main__'

所以会经常看到别人的代码这么写,同时也是典型的python文件结构:

 #/usr/bin/env/ python            #(1) 起始行

 #"this is a test module"          #(2) 模块文档(文档字符串)

 import sys

 import os              #(3) 模块导入



 debug = True              #(4) (全局)变量定义

 class FooClass (object):

     'foo class'

     pass                           #(5) 类定义(若有)

 def main():

     'test function'

     foo = FooClass()

     if debug:

         print 'ran test()'         #(6) 函数定义(若有)

 if __name__ == '__main__':

     main()

扫描二维码关注公众号,回复: 15390203 查看本文章

若是文件主动执行了,则最好写成跟上面的例子一样,main之前不要有可执行代码,这样做到程序从main()开始,流程逻辑性强

若是文件作为模块被调用,则可以不用写main(),从上而下顺序执行。

猜你喜欢

转载自blog.csdn.net/Dust_Evc/article/details/129885253