首页 > 编程语言 >一个python 程序执行顺序

一个python 程序执行顺序

时间:2024-06-09 16:29:47浏览次数:33  
标签:语句 顺序 python 代码 控制流 程序执行 Python print 执行

1. Python程序执行顺序

在Python中,程序的执行顺序通常遵循几个基本原则:

(1)从上到下:Python代码通常从上到下顺序执行。

(2)代码块:由缩进(如空格或制表符)定义的代码块(如函数定义、类定义、循环体、条件语句体等)内的代码会按照特定的逻辑顺序执行。

(3)控制流语句:如ifforwhile等控制流语句会改变代码的执行顺序。

下面是一个具体、完整、详细的代码示例,该示例演示了Python程序的基本执行顺序和控制流语句的使用:

# 这是一个简单的Python程序,演示了执行顺序和控制流语句  
  
# 1. 定义变量  
x = 10  
y = 20  
  
# 2. 打印初始值  
print("初始值:x =", x, "y =", y)  
  
# 3. 定义一个函数  
def add_numbers(a, b):  
    # 函数内部的代码块  
    sum_value = a + b  
    return sum_value  
  
# 4. 调用函数并打印结果  
result = add_numbers(x, y)  
print("x 和 y 的和是:", result)  
  
# 5. 使用if语句  
if x > y:  
    print("x 大于 y")  
else:  
    print("x 不大于 y")  
  
# 6. 使用for循环  
for i in range(5):  
    print("当前循环次数:", i)  
  
# 7. 使用while循环  
count = 0  
while count < 3:  
    print("当前while循环次数:", count)  
    count += 1  
  
# 8. 更改变量值并打印  
x = x + 5  
y = y - 10  
print("修改后的值:x =", x, "y =", y)

这个程序首先定义了两个变量xy,并打印了它们的初始值。然后定义了一个函数add_numbers,用于计算两个数的和,并调用了这个函数打印结果。接着使用if语句判断xy的大小关系,并使用forwhile循环分别打印循环次数。最后,更改了xy的值,并打印了修改后的值。整个程序的执行顺序清晰明了,符合Python的语法规则和逻辑。

2. Python中的控制流语句有哪些

Python中的控制流语句是用于控制程序执行流程的语句。这些语句允许程序根据条件、迭代或循环来执行不同的代码块。以下是Python中常见的控制流语句:

2.1条件语句(if, elif, else)

if 语句用于基于某个条件(布尔表达式)来执行代码块。如果条件为真(True),则执行 if 语句块中的代码。如果提供了 elif(else if)子句,则当 if 语句的条件为假时,Python 会检查 elif 子句的条件。如果 ifelif 的条件都为假,并且提供了 else 子句,则执行 else 语句块中的代码。

x = 10  
if x > 0:  
    print("x 是正数")  
elif x < 0:  
    print("x 是负数")  
else:  
    print("x 是零")

2.2循环语句(for, while)

(1)for 循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象。对于可迭代对象中的每个元素,都会执行一次循环体。

for i in range(5):  
    print(i)

(2)while 循环会不断执行循环体中的代码,直到指定的条件不再满足为止。

count = 0  
while count < 5:  
    print(count)  
    count += 1

2.3跳转语句(break, continue, pass)

(1)break 语句用于跳出最近的包含它的循环(forwhile)。

for i in range(10):  
    if i == 5:  
        break  
    print(i)

(2)continue 语句用于跳过当前循环的剩余部分,并立即开始下一次循环。

for i in range(10):  
    if i % 2 == 0:  
        continue  
    print(i)

(3)pass 语句是一个空操作,用于在语法上需要一个语句,但程序不需要执行任何操作时。它通常用作一个占位符,在将来可能会添加代码。

def my_function():  
    pass  # 这里什么也不做,但语法上需要一个语句

2.4异常处理语句(try, except, finally)

这些语句用于处理运行时错误或异常情况。try 块包含可能会引发异常的代码。except 块用于处理这些异常。finally 块无论是否发生异常都会执行。

try:  
    x = 1 / 0  # 这会引发一个 ZeroDivisionError  
except ZeroDivisionError:  
    print("不能除以零")  
finally:  
    print("这部分代码总是会被执行")

3.其他的控制流结构

除了上文提到的控制流语句外,Python 中还有一些其他的控制流结构,尽管它们不是直接的语句,但在某些情境下对控制程序流程很有帮助。

3.1列表推导式(List Comprehensions)

列表推导式是创建列表的一种简洁方式,它可以在一行代码中生成一个列表,而不需要使用显式的循环。

# 使用列表推导式生成一个包含 0 到 9 的平方的列表  
squares = [x**2 for x in range(10)]  
print(squares)  # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3.2生成器表达式(Generator Expressions)

生成器表达式类似于列表推导式,但它们返回的是一个生成器对象,而不是一个列表。生成器是惰性的,它们只在迭代时生成值,这可以节省内存。

# 使用生成器表达式创建一个生成器,该生成器产生 0 到 9 的平方  
squares_gen = (x**2 for x in range(10))  
# 迭代生成器以获取其值  
for square in squares_gen:  
    print(square)

3.3上下文管理器(Context Managers)和 with 语句

with 语句用于包装代码的执行上下文。它确保了一个代码块执行前后,进行初始化设置和清理操作,如打开和关闭文件、锁定和释放资源等。

# 使用 with 语句打开文件,确保文件在操作完成后被正确关闭  
with open('file.txt', 'r') as file:  
    data = file.read()  
# 在 with 语句块之外,文件已经被自动关闭

3.4函数定义和调用

虽然函数定义本身不是控制流语句,但函数的调用和返回值可以控制程序的流程。通过定义函数,我们可以将代码块组织成可重用的单元,并通过函数调用在程序的多个位置执行这些代码块。

def greet(name):  
    return "Hello, " + name  
  
# 调用函数并打印返回值  
print(greet("World"))  # 输出: Hello, World

3.5递归

递归是一种函数调用自身的方式,它通常用于解决可以分解为更小、相似子问题的问题。递归函数通过定义基准情况和递归步骤来控制流程。

def factorial(n):  
    if n == 0 or n == 1:  
        return 1  
    else:  
        return n * factorial(n-1)  
  
# 调用递归函数并打印结果  
print(factorial(5))  # 输出: 120

3.6装饰器(Decorators)

装饰器是Python中一种高级功能,它允许我们在不修改函数或类代码的情况下,给它们添加额外的功能。装饰器本身是一个可调用对象(通常是函数),它接受一个函数作为参数,并返回一个新的函数或可调用对象。

def my_decorator(func):  
    def wrapper():  
        print("Something is happening before the function is called.")  
        func()  
        print("Something is happening after the function is called.")  
    return wrapper  
  
@my_decorator  
def say_hello():  
    print("Hello!")  
  
# 调用 say_hello 函数时,my_decorator 修饰的功能将被执行  
say_hello()  
# 输出:  
# Something is happening before the function is called.  
# Hello!  
# Something is happening after the function is called.

这些结构虽然不是直接的控制流语句,但它们对于组织和管理Python代码的流程至关重要。

标签:语句,顺序,python,代码,控制流,程序执行,Python,print,执行
From: https://blog.csdn.net/m0_72958694/article/details/139563146

相关文章

  • python-数据分析-Numpy-3、数组的运算
    数组的运算使用NumPy最为方便的是当需要对数组元素进行运算时,不用编写循环代码遍历每个元素,所有的运算都会自动的矢量化。简单的说就是,NumPy中的数学运算和数学函数会自动作用于数组中的每个成员。#-*-coding:utf-8-*-#数组的运算#使用NumPy最为方便的是当需要对数组......
  • python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制
    实现效果(红框内):后端api如下:@task_api.route('/user/task/states_list',methods=['POST','GET'])@visitor_token_requireddeftask_states(user):name_list=['待接单','设计中','交付中','已完成','......
  • Python: 2d arry
     score=[[58,80,74,90,45,82],[71,70,64,85,50,86],[87,63,65,84,62,83],[91,66,67,92,65,90],[83,74,81,82,57,82]]k=0whilek<5:subavg=0a=0whilea<6:subavg......
  • 《手把手教你》系列练习篇之15-python+ selenium自动化测试 -番外篇 - 最后一波啊!!!(详细
    1.简介 本来上一篇就是练习篇的最后一篇文章了,但是有的小伙伴私下反映说是做了那么多练习,没有一个比较综合的demo练练手。因此宏哥在这里又补存了一些常见的知识点进行练习,在文章最后也通过实例给小伙伴们或者童鞋们进行了一个登录模块的自动化测试的实例,其他的你可以照......
  • 《手把手教你》系列练习篇之14-python+ selenium自动化测试 -压台篇(详细教程)
    1.简介 本文是练习篇的最后一篇文章,虽然练习篇的文章到此就要和大家说拜拜了,但是我们的学习之路才刚刚开始。不要停下你的脚步,大步朝前走吧!比你优秀的人还在走着,我们有什么理由停下自己的脚步了,生命不止,学习亦是如此。好了,宏哥的毒鸡汤好喝吧,喝够了就开始学习吧。......
  • python-数据分析-Numpy-2
    数组对象的方法应用#-*-coding:utf-8-*-#数组对象的方法importmatplotlib.pyplotaspltimportnumpy#1、获取描述统计信息array1=numpy.random.randint(1,100,10)print(array1)#随机数组[64841052366431797]#计算总和、平均值、中位数pr......
  • python 多任务之多线程
    多线程线程是程序执行的最小单位,实际上进程只负责分配资源,而利用这些资源执行程序的是线程,也就是说进程是线程的容器,一个进程中最少有一个线程来负责执行程序,它可以与同属一个进程的其它线程共享进程所拥有的全部资源 为什么要选择线程,而不选择进程进程:就像同时和两个人......
  • python - pandas常用计算函数
    文中所用数据集有需要的可以私聊我获取学习目标 知道排序函数nlargest、nsmallest和sort_values的用法知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用1排序函数导包并加载数据集importpandasaspd​#加载csv数据,返回df......
  • 超详解——python数字和运算——小白篇
    目录1.位运算2.常用内置函数/模块math模块:random模块:decimal模块:3.内置函数:总结:1.位运算位运算是对整数在内存中的二进制表示进行操作。Python支持以下常见的位运算符:按位与(&):两个二进制数对应位都为1时,结果的该位才为1。按位或(|):两个二进制数对应位有一个为1,结果......
  • 运筹学练习Python精解——指派问题
    练习8分配甲、乙、丙、丁4个人去完成A、B、C、D、E5项任务,每个人完成各项任务的时间见下表。由于任务数多于人数,故考虑:(1)任务E必须完成,其他4项中可任选3项完成;(2)其中有一人完成两项,其他每人完成一项。试分别确定最优分配方案,使完成任务的总时间为最少。人员\任务AB......