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

 更新时间:2022年12月22日 10:39:11   作者:网络豆  
程序从程序入口进入,到程序执行结束,大体是按照顺序结构执行语句、函数或代码块,掌握程序的结构,有利于把握程序的主体框架,下面这篇文章主要给大家介绍了关于Python编程之顺序执行与程序的主入口的相关资料,需要的朋友可以参考下

前言

本章将会讲解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 看齐,他们都是要求一个程序必须有一个主执行入口才能正确运行

总结

到此这篇关于Python编程之顺序执行与程序的主入口的文章就介绍到这了,更多相关Python顺序执行与程序主入口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例

    Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例

    这篇文章主要介绍了Python实现读取SQLServer数据并插入到MongoDB数据库的方法,涉及Python同时进行SQLServer与MongoDB数据库的连接、查询、读取、写入等相关操作实现技巧,需要的朋友可以参考下
    2018-06-06
  • pycharm远程开发项目的实现步骤

    pycharm远程开发项目的实现步骤

    这篇文章主要介绍了pycharm远程开发项目的实现步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Python语法糖遍历列表时删除元素方法示例详解

    Python语法糖遍历列表时删除元素方法示例详解

    这篇文章主要为大家介绍了Python语法糖遍历列表时删除元素详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • python+selenium行为链登录12306(滑动验证码滑块)

    python+selenium行为链登录12306(滑动验证码滑块)

    这篇文章主要介绍了python+selenium行为链登录12306,使用python网络爬虫登录12306,下面小编为大家分享一段代码,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-02-02
  • Python 的Json 模块编码详解

    Python 的Json 模块编码详解

    这篇文章主要为大家介绍了Python 的Json 模块编码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2021-11-11
  • Django基于Models定制Admin后台实现过程解析

    Django基于Models定制Admin后台实现过程解析

    这篇文章主要介绍了Django基于Models定制Admin后台实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python通过30秒就能学会的漂亮短程序代码(过程全解)

    Python通过30秒就能学会的漂亮短程序代码(过程全解)

    这篇文章主要介绍了Python之30秒就能学会的漂亮短程序代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • Django后端按照日期查询的方法教程

    Django后端按照日期查询的方法教程

    这篇文章主要给大家介绍了关于Django后端按照日期查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python Numpy运行报错IndexError与形状不匹配的问题解决办法

    Python Numpy运行报错IndexError与形状不匹配的问题解决办法

    在使用Numpy进行数据处理和科学计算时,IndexError和形状不匹配(Shape Mismatch)是常见的错误类型,这些错误通常发生在数组索引操作、数组运算或数组重塑时,本文将通过一个具体的例子来详细分析这些错误的原因和解决办法,需要的朋友可以参考下
    2024-07-07
  • vscode搭建python Django网站开发环境的示例

    vscode搭建python Django网站开发环境的示例

    本文主要介绍了vscode搭建python Django网站开发环境的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论