侧边栏壁纸
博主头像
路小飞博主等级

行动起来,活在当下

  • 累计撰写 72 篇文章
  • 累计创建 12 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

1.4 Python 控制流

路小飞
2025-06-16 / 0 评论 / 0 点赞 / 12 阅读 / 8648 字

Python 关键字说明

Python 关键字是 Python 语言中具有特殊含义的保留字,不能用作变量名、函数名等标识符。以下是 Python 的关键字列表:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

关键字分类说明:

  1. 布尔值相关

    • True:表示真
    • False:表示假
    • None:表示空值
  2. 逻辑运算相关

    • and:逻辑与
    • or:逻辑或
    • not:逻辑非
  3. 条件控制相关

    • if:如果
    • elif:否则如果
    • else:否则
  4. 循环控制相关

    • for:for循环
    • while:while循环
    • break:跳出循环
    • continue:继续下一次循环
  5. 函数定义相关

    • def:定义函数
    • return:返回函数值
    • yield:生成器函数返回值
    • lambda:定义匿名函数
  6. 类定义相关

    • class:定义类
  7. 异常处理相关

    • try:尝试执行
    • except:捕获异常
    • finally:最终执行
    • raise:抛出异常
    • assert:断言
  8. 模块导入相关

    • import:导入模块
    • from:从模块导入
    • as:给导入的模块或对象起别名
  9. 变量作用域相关

    • global:声明全局变量
    • nonlocal:声明非局部变量
  10. 其他操作符

    • in:判断是否在序列中
    • is:判断是否是同一个对象
    • del:删除对象
    • pass:空操作,占位符
  11. 异步编程相关

    • async:定义异步函数
    • await:等待异步操作完成
  12. 上下文管理相关

    • with:上下文管理器

1.3.1 条件控制语句

1. if-elif-else 条件判断

条件控制语句用于根据不同的条件执行不同的代码块。

# 基本语法结构(如果条件1成立执行代码块1,否则如果条件2成立执行代码块2,否则执行代码块3)
# 根据缩进区分代码块,不需要像shell一样,有if要有对应的fi
if condition1:
    block1
elif condition2:
    block2
else:
    block3
# 示例:成绩等级判断
# coding=utf-8
# author: sre

def get_grade(score):
    if score >= 90:
        return 'A'
    elif score >= 80:
        return 'B'
    elif score >= 70:
        return 'C'
    elif score >= 60:
        return 'D'
    else:
        return 'F'

def main():
    score = int(input("Enter your score: "))
    grade = get_grade(score)
    print(f"Your grade is: {grade}")

if __name__ == "__main__":
    main()
2. 条件表达式(三元运算符)
# 语法:value_if_true if condition else value_if_false(如果条件成立返回前面的值,否则返回后面的值)
# 示例:判断奇偶
# coding=utf-8
# author: sre
resoult = "odd" if int(input("Enter a number: ")) % 2 else "even"
print(f"The number is {resoult}.")
3. match-case 模式匹配(Python 3.10+)
# 语法结构(根据值的不同匹配不同的模式,执行对应的代码块)
match value:
    case pattern1:
        block1
    case pattern2:
        block2
    case _:  # 默认情况
        default_block

# 示例:季节活动
def get_season_activity(season):
    match season:
        case "spring":
            return "适合踏青赏花"
        case "summer":
            return "适合游泳避暑"
        case "autumn":
            return "适合登山赏叶"
        case "winter":
            return "适合滑雪泡温泉"
        case _:
            return "未知季节"

1.3.2 循环语句

1. while 循环
# 基本语法(当条件为真时,重复执行代码块)
while condition:
    block

# coding=utf-8
# author: sre
# 累加运算器
def factorial(n):
    result = 0
    current = 0
    while current <= n:
        result = current + result
        current = current + 1
    return result

def main():
    n = int(input("请输入一个整数: "))
    result = factorial(n)
    print(f"从 0 到 {n} 的累加和是: {result}")

if __name__ == "__main__":
    main()
2. for 循环
# 基本语法(遍历可迭代对象中的每个元素,执行代码块)
for item in iterable:
    block

# coding=utf-8
# author: sre
def print_even_numbers(numbers):
    """
    打印列表中的偶数数字
    :param numbers: 数字列表
    """
    for num in numbers:
        if num % 2 == 0:  # 判断是否是偶数
            print(f"{num} is an even number!")

def main():
    numbers = [1, 2, 3, 4, 5, 6]
    print_even_numbers(numbers)

if __name__ == "__main__":
    main()   
3. 循环控制语句
  • break:跳出当前循环
  • continue:跳过当前循环的剩余部分,继续下一次循环
  • else:当循环正常完成时执行(不是通过break退出)
# 示例:查找第一个偶数
def find_first_even(numbers):
    for num in numbers:
        if num % 2 == 0:
            print(f"Found first even number: {num}")
            break
    else:
        print("No even number found")

1.3.3 异常处理

1. try-except 异常捕获

try-except 的存在意义在于处理程序运行时可能出现的异常,以确保程序不会因为一个错误而崩溃,保持程序的健壮性和容错能力。

# 基本语法(尝试执行可能出错的代码,如果发生异常则执行异常处理代码)
try:
    block
except ExceptionType:
    handle_exception

# 示例:安全转换整数
def safe_int_convert(s):
    try:
        result = int(s)
        return result
    except ValueError:
        print(f"Cannot convert '{s}' to integer")
        return None
    except Exception as e:
        print(f"Unknown error: {str(e)}")
        return None
def main():
    user_input = input("请输入一个整数: ")
    converted_value = safe_int_convert(user_input)
    if converted_value is not None:
        print(f"转换后的整数是: {converted_value}")
    else:
        print("转换失败")
if __name__ == "__main__":
    main()
2. try-except-else-finally 完整异常处理
# 示例:文件操作(try尝试执行,except捕获异常,else执行成功时运行,finally无论是否异常都会执行)
def read_file(filename):
    file = None
    try:
        file = open(filename, 'r', encoding='utf-8')
        content = file.read()
    except FileNotFoundError as e:
        print(f"File not found: {str(e)}")
        return None
    except IOError as e:
        print(f"File read error: {str(e)}")
        return None
    else:
        print("File read successfully")
        return content
    finally:
        if file:
            file.close()
            print("File closed")

1.3.4 上下文管理(with语句)

# 基本语法(自动管理资源的获取和释放,确保资源正确关闭)
with context_manager:
    block

# 示例:文件写入
def write_file(filename, content):
    with open(filename, 'w', encoding='utf-8') as f:
        f.write(content)
        print("File written successfully")

1.3.5 控制流最佳实践

  1. 条件语句使用建议

    • 使用清晰的条件表达式
    • 避免过多的嵌套
    • 优先使用 elif 而不是多个 if
    • 合理使用 match-case 处理多分支
  2. 循环语句使用建议

    • 使用 for 循环处理已知的集合
    • 使用 while 循环处理不确定次数的循环
    • 避免死循环
    • 合理使用 breakcontinue
  3. 异常处理建议

    • 只捕获预期的异常
    • 使用具体的异常类型
    • 保持异常处理代码简洁
    • 确保资源正确释放
  4. 上下文管理建议

    • 优先使用 with 语句
    • 实现自定义上下文管理器
    • 确保资源正确释放
  5. 通用编程建议

    • 保持代码简洁清晰
    • 添加必要的注释说明
    • 使用有意义的变量名
    • 遵循 Python 编码规范
    • 编写单元测试
0

评论区