Python新手第三课:编程逻辑的脉络【Python控制流与函数】

前言:编程,是一场逻辑的旅行

亲爱的读者,在前两篇文章中,我们已经了解了Python的基本语法和数据类型。现在,是时候学习如何使用这些基础知识来控制程序的执行流程,并且学会创建可重复使用的代码块了。

想象编程就像是一个精心策划的旅程,控制流就是你的导航系统,函数则是你的旅行工具箱。让我们一起探索这段奇妙的编程之旅!

在这里插入图片描述

1. 条件语句:程序的决策中心

if语句:程序的"大脑"

if语句就像是程序的决策系统。它会根据特定的条件来决定是否执行某段代码。想象一下,这就像是生活中的"如果…那么…"的判断过程。

条件为True
条件为False
开始
条件判断
执行True分支代码块
执行False分支代码块
继续执行后续代码
结束

if的基本结构

# 最基本的if语句
if 条件:
    # 当条件为True时执行的代码块

实际应用示例

# 判断年龄是否成年
age = 20

if age >= 18:
    print("你已经成年,可以进入")

elif和else:多重条件的处理

  • if:第一个条件判断
  • elif:当前面的条件不成立时,继续判断下一个条件
  • else:当所有前面的条件都不成立时,执行最后的代码块
# 多条件判断
score = 85

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

复杂的条件判断

多个条件的组合

# 使用and、or、not运算符
age = 25
has_ticket = True

if age >= 18 and has_ticket:
    print("可以进入")
elif age < 18 and has_ticket:
    print("需要家长陪同")
else:
    print("不能进入")

嵌套条件语句

# 复杂的嵌套条件
money = 1000
is_student = True

if money > 500:
    print("资金充足")
    if is_student:
        print("可以享受学生优惠")
    else:
        print("普通价格")
else:
    print("需要精打细算")

2. 循环语句:重复执行的魔法

循环的本质:重复与模式

循环就像是程序中的"复读机",它可以让我们重复执行一段代码,同时根据不同的条件进行控制。想象你在洗一堆盘子,每个盘子都需要相同的清洗步骤,这就是循环的典型场景。

条件为True
条件为False
开始
循环条件
执行循环体代码
更新循环变量
退出循环
继续执行后续代码

for循环:精确的遍历

遍历的原理

for循环是最常用的循环类型,它可以遍历任何可迭代对象(列表、元组、字符串等)。

# 基本遍历
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(f"今天我要吃{fruit}")

# 遍历字符串
for char in "Python":
    print(char)

# 使用range()生成数字序列
for i in range(5):
    print(f"当前是第{i+1}次循环")

# range()的高级用法
for i in range(1, 10, 2):  # 从1开始,到10结束,步长为2
    print(i)  # 打印 1, 3, 5, 7, 9

循环的嵌套

# 九九乘法表
for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i} × {j} = {i*j}", end='\t')
    print()  # 换行

while循环:条件驱动的重复

while的工作原理

while循环会重复执行一段代码,只要给定的条件为真。

# 基本while循环
count = 0
while count < 5:
    print(f"当前计数:{count}")
    count += 1

# 实际应用:用户输入验证
attempt = 3
while attempt > 0:
    password = input("请输入密码:")
    if password == "123456":
        print("登录成功")
        break
    else:
        attempt -= 1
        print(f"密码错误,还剩{attempt}次机会")

if attempt == 0:
    print("已锁定")

循环控制:break和continue

break:提前结束循环

for i in range(10):
    if i == 5:
        print("遇到5,结束整个循环")
        break
    print(i)

continue:跳过当前循环

# 打印所有奇数
for i in range(10):
    if i % 2 == 0:  # 如果是偶数
        continue    # 跳过本次循环
    print(i)

3. 函数:可重复使用的代码块

函数的本质:代码的封装与复用

函数就像是一个迷你程序,它可以接收输入,处理数据,并返回结果。想象函数是一个精密的机器,你输入原料,它加工后给你成品。

函数调用开始
传入参数
是否有默认参数
使用默认参数
使用传入参数
执行函数体
是否有返回值
返回结果
返回None
函数调用结束

基本函数定义与调用

# 最简单的函数
def greet(name):
    """
    问候函数
    :param name: 被问候者的名字
    :return: 问候语
    """
    return f"Hello, {name}!"

# 带多个参数的函数
def calculate_rectangle_area(length, width):
    """
    计算矩形面积
    :param length: 长
    :param width: 宽
    :return: 面积
    """
    return length * width

参数的高级用法

# 默认参数
def power(base, exponent=2):
    """
    计算指数
    :param base: 底数
    :param exponent: 指数,默认为2(平方)
    """
    return base ** exponent

# 关键字参数
def create_profile(name, age, city="未知"):
    return f"姓名:{name},年龄:{age},城市:{city}"

# 可变长参数
def sum_all(*args):
    """
    求任意数量参数的和
    :param args: 可变长参数
    """
    return sum(args)

4. 作用域:变量的生存空间

变量作用域的概念

变量的作用域就像是变量的"户口本",决定了变量可以在哪里被访问。

程序开始
全局作用域
是否定义函数
创建函数局部作用域
是否使用global关键字
可修改全局变量
只能读取全局变量
函数内部作用域
函数执行结束
返回全局作用域
# 全局变量
x = 10  # 全局变量

def demo():
    # 局部变量
    y = 5
    print(x)  # 可以访问全局变量
    print(y)  # 访问局部变量

    # 如果要在函数内修改全局变量
    global x
    x = 20

demo()
print(x)  # 全局变量被修改

5. 简单的错误处理

发生异常
未发生异常
开始执行代码
是否可能发生异常
使用try块
是否发生异常
进入except块
继续执行
是否有finally块
执行finally块
结束
程序继续执行

异常处理:程序的安全网

# 基本异常处理
def divide(a, b):
    try:
        return a / b
    except ZeroDivisionError:
        print("错误:除数不能为零")
        return None

# 多异常处理
def process_data(data):
    try:
        # 模拟数据处理
        result = int(data)
        return result
    except ValueError:
        print("转换错误:输入的不是数字")
    except TypeError:
        print("类型错误:无法处理")

# 完整的异常处理
def read_file(filename):
    try:
        with open(filename, 'r') as file:
            content = file.read()
            return content
    except FileNotFoundError:
        print(f"错误:文件 {filename} 未找到")
    except PermissionError:
        print(f"错误:没有权限读取文件 {filename}")
    finally:
        print("文件操作已完成")

总结:逻辑的艺术

恭喜你!现在你已经掌握了Python中控制程序流程的核心技能。这些看似简单的控制流和函数,实际上是构建复杂程序的基础。

在下一篇文章中,我们将进入面向对象编程的世界,这将是你编程技能的又一次飞跃。记住,编程是一门需要不断实践和探索的艺术。保持好奇,保持热情!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Albert_Lsk

今天又能喝柠檬茶啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值