Python编程之顺序执行与程序的主入口详解

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python编程之顺序执行与程序的主入口详解

网络豆   2022-12-24 我要评论

前言

本章将会讲解Python编程中的顺序执行与程序的主入口。

1.顺序执行(了解)

Python代码在执行过程中,遵循下面的基本原则:

  1. 普通语句,直接执行;
  2. 碰到函数,将函数体载入内存,并不直接执行
  3. 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
  4. 碰到if、for等控制语句,按相应控制流程执行
  5. 碰到@,break,continue等,按规定语法执行
  6. 碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码
# #对于普通语句,代码从上之下执行
# print("hello world")
# print("hello world")
# print("hello world")
 
 
#此时代码从上之下执行,但是函数只有在调用时才会执行
 
# def func_name():
#     print("i  am  func name")
# func_name()
 
# class MyClass:
#     print("i am myclass")
# 
#     def my_text(self):
#         print("i am mytest ")
# 
# 
# d = MyClass()
# d.my_test()

2.程序主入口(熟悉)

一个 .py,除了可以被直接运行外,还可以作为模块, 被其他 .py文件导入。不管是直接运行还是被导 入,.py 文件的最顶层代码都会被运行( Python 用缩 进来区分代码层次)。 但是当一个 .py 文件作为模块被导入时,我们可能不 希望一部分代码被运行。那么就可以将这部分代码的 调用写在主程序中。

def func_one():
    print("func_one")
 
def func_two():
    print("func_two")
 
func_one()
 
#程序的主入口
if __name__ == '__main__':
    func_two()
#当我导入了demo19之后,运行demo13的话,会执行demo3内部的代码
import demo19
#执行demo4,竟然只打印输出了func_one

再来解释下

所以上面代码 if 的意思就是:如果运行的程序是你自己,那么就 print....

假设运行的是 xiaoming.py,那么就会执行主函数

假设运行的是 xiaohong.py,即使 xiaohong 导入了 xiaoming,也不会执行 xiaoming.py 里面的主函数(main 函数)

是否一定需要执行入口(主函数)

不一定

假设没有主函数,那么运行 xiaoming.py 时,就会至上而下,逐行运行 xiaoming.py 的所有代码

执行入口的意义

将业务代码写在主函数上面,主函数用来调用有业务代码,代码结构整洁
向 Java、C、Golang 看齐,他们都是要求一个程序必须有一个主执行入口才能正确运行

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们