Python 3.7.6基础语法入门:变量、循环与函数示例

Hazel
Hazel
发布时间:2026-10-25 | 5人浏览过
原创

掌握任何一门编程语言,本质上都是在掌握数据存储、流程调度与逻辑封装的能力。在 Python 3.7.6 这个广泛应用的稳定版本中,程序构造的核心同样由这三大部分构成:用变量承载和引用数据,用循环控制逻辑的重复与遍历,用函数将独立任务打包以便反复调用。本文通过清晰易懂的代码实例和运行原理说明,帮助初学者快速建立对这三项核心语法的认知并能独立编写基础程序。

一、准备工作:确认 Python 3.7.6 运行环境

在开始编写代码前,首先需要在终端或命令行提示符中确认当前的解释器版本。打开终端窗口,输入以下命令:

python --version

如果命令执行后终端返回类似如下信息,说明环境配置正确:

Python 3.7.6

Python 代码既可以在交互式命令行(REPL)中逐行输入测试,也可以保存在以 .py 为扩展名的纯文本文件中,通过 python demo.py 统一执行。下文的所有示例代码均严格遵循 Python 3.7.6 标准语法规范。

二、变量与数据类型:对象的命名与引用

在 Python 中,定义变量不需要像 C 或 Java 那样显式声明变量类型。赋值操作符(=)不仅完成了赋值,更在内存中建立了“变量名”与“具体数据对象”之间的绑定关系。

1. 常见基础类型与命名

变量名应当使用英文字母、数字和下划线组成,且不能以数字开头,同时应避免使用系统关键字。Python 3.7.6 中最常用的几种基础数据类型如下:

# 整数 (int)
user_age = 25

# 浮点数 (float)
price = 19.99

# 字符串 (str) 与 Python 3.6+ 推荐的 f-string 格式化
user_name = "张三"
welcome_msg = f"欢迎用户 {user_name},当前余额: {price} 元"

# 布尔值 (bool)
is_active = True

# 列表 (list) 与字典 (dict)
scores = [85, 92, 78]
user_info = {"name": user_name, "age": user_age}

print(welcome_msg)
print(scores[0])

2. 变量的本质:对象引用模型

初学者常把变量误解为一个“盛放数据的物理盒子”,而在 Python 中,变量更像是一个贴在对象上的“便利贴标签”。当执行 b = a 时,并不是把数据复制了一份,而是让 b 也指向了 a 目前所指的同一个对象。

Python 3.7.6基础语法入门:变量、循环与函数示例
图1:Python 变量绑定与内存引用关系示意图
注意事项:因为变量只保存对象的引用,对可变对象(如列表、字典)的原地修改会影响所有指向该对象的变量;而对于不可变对象(如数字、字符串、元组),修改操作实质上是创建新对象并重新绑定。

三、流程控制:for 与 while 循环实践

计算机最擅长重复处理批量数据,而循环语句正是执行重复任务的核心工具。Python 提供了两种主要的循环方式:面向集合迭代的 for 循环,以及基于布尔条件驱动的 while 循环。

1. for 循环:确定次数与集合遍历

在 Python 中,for 循环常配合 in 关键字,按顺序依次取出可迭代对象中的每一个元素,或者结合 range() 生成固定次数的数值序列:

# 示例 1: 使用 range() 遍历固定数字区间 [0, 5)
print("--- range(5) 循环示例 ---")
for i in range(5):
    print(f"当前索引: {i}")

# 示例 2: 遍历列表元素
fruits = ["苹果", "香蕉", "橙子"]
print("\n--- 列表遍历示例 ---")
for fruit in fruits:
    print(f"推荐水果: {fruit}")

# 示例 3: 结合 enumerate() 同时获取索引与值
print("\n--- enumerate 示例 ---")
for index, item in enumerate(fruits, start=1):
    print(f"第 {index} 项: {item}")

2. while 循环:基于条件的动态迭代

当循环的执行次数在运行前无法准确预知、必须依赖某个条件状态变化来决定是否退出时,应当优先选用 while 循环。编写 while 循环的关键是确保循环体内存在能够改变判断条件的语句,避免陷入死循环。

count = 3
print("--- while 倒计时示例 ---")
while count > 0:
    print(f"倒计时: {count}")
    count -= 1  # 关键步骤:更新条件变量
print("倒计时结束!")

3. 循环跳出与控制:break 与 continue

  • continue:跳过当前这一轮循环中后续的代码,直接进入下一轮迭代。
  • break:立即终止整层循环,程序跳至循环体之外继续向下执行。
# 寻找序列中第一个能被 3 整除的正整数(跳过偶数)
numbers = [2, 4, 7, 9, 12, 15]

for num in numbers:
    if num % 2 == 0:
        continue  # 如果是偶数,直接跳过本轮
    if num % 3 == 0:
        print(f"找到第一个符合条件的奇数: {num}")
        break     # 达成条件后立即终止循环
Python 3.7.6基础语法入门:变量、循环与函数示例
图2:for 迭代结构与 while 条件判断结构流转对比

四、函数定义与调用:封装与复用代码

当一段逻辑需要在多处使用,或者程序变得越来越庞大时,将具体功能切分为独立的“函数”是提高代码可读性与可维护性的基础。函数接收输入(参数),在内部执行特定逻辑,并最终产生输出(返回值)。

1. 函数基础语法结构

Python 使用 def 关键字定义函数,函数名后紧跟圆括号及形参列表,末尾加冒号,函数体必须保持统一的缩进。使用 return 返回结果,若未显式编写 return,函数默认返回 None。

def calculate_rectangle_area(width, height):
    """
    计算并返回矩形面积
    :param width: 矩形宽度
    :param height: 矩形高度
    :return: 面积数值
    """
    if width <= 0 or height <= 0:
        return 0  # 边界保护
    area = width * height
    return area

# 调用函数并接收返回值
result = calculate_rectangle_area(5.5, 4.0)
print(f"矩形计算结果为: {result}")

2. 默认参数与类型注解(Type Hints)

在 Python 3.7.6 中,类型注解已经非常成熟。虽然解释器在运行时不会强制校验类型,但标注类型可以极大提高代码自解释性并辅助静态类型工具识别隐患:

def greet_user(name: str, prefix: str = "尊敬的") -> str:
    """带有默认参数与类型注解的问候函数"""
    return f"{prefix}{name},欢迎回来!"

# 使用默认 prefix
print(greet_user("李工"))
# 覆盖默认 prefix
print(greet_user("小明", prefix="你好呀,"))
Python 3.7.6基础语法入门:变量、循环与函数示例
图3:Python 函数参数绑定、局部作用域执行及返回值流程
避坑指南(可变对象作为默认形参):切勿使用可变对象(如空列表 [] 或空字典 {})作为函数的默认参数值。因为默认参数在函数定义时即完成初始化并在后续调用中常驻共享,容易引发非预期的跨次调用数据污染。安全做法是默认设为 None,并在函数内部按需创建。

五、综合演练:结合变量、循环与函数的统计工具

为了让知识融会贯通,我们将变量、循环和函数三项要素组合起来,编写一个实用小功能:批量处理一组学生的测验成绩,统计及格人数并计算及格者的平均成绩。

def analyze_scores(score_list: list) -> dict:
    """
    分析成绩列表,统计及格人数并计算及格者的平均分
    """
    total_passing_score = 0
    passing_count = 0
    failing_count = 0

    # 使用 for 循环逐个检查每个成绩变量
    for s in score_list:
        if s >= 60:
            total_passing_score += s
            passing_count += 1
        else:
            failing_count += 1

    # 计算及格平均分(注意除数为 0 的防御性处理)
    avg_score = 0.0
    if passing_count > 0:
        avg_score = round(total_passing_score / passing_count, 2)

    # 将统计分析结果打包成字典返回
    return {
        "total_students": len(score_list),
        "passing_count": passing_count,
        "failing_count": failing_count,
        "average_passing_score": avg_score
    }

# 测试数据
current_scores = [58, 85, 92, 45, 76, 60, 99]

# 调用分析函数
report = analyze_scores(current_scores)

# 打印分析结果
print("========== 统计分析报告 ==========")
for key, value in report.items():
    print(f"{key}: {value}")

运行该脚本后,控制台将输出以下清晰的结果结构:

========== 统计分析报告 ==========
total_students: 7
passing_count: 5
failing_count: 2
average_passing_score: 82.4

六、新手常见易错点与排查要点

  1. IndentationError(缩进错误):Python 不使用大括号 {} 区分代码块,而是依靠严格的空格缩进。请确保同一代码层级统一使用 4 个空格缩进,严禁混用制表符(Tab)和空格。
  2. UnboundLocalError(局部未绑定变量):如果在函数内部对全局变量执行重新赋值(如 count += 1),解释器会默认将其当作局部变量处理。若未提前声明或未通过 global 标记,将直接报局部变量在使用前未绑定的错误。
  3. while 循环条件未更新导致死循环:在编写 while 结构时,务必仔细检查每一条执行分支是否都有更新终止条件的逻辑,并在必要时加入最大步数限制(熔断计数器)。
Python 3.7.6基础语法入门:变量、循环与函数示例
图4:Python 3.7.6 变量、循环与函数知识体系结构总结

通过掌握变量引用的机制、熟练组织不同类型的循环流、并将复杂业务细化拆解到独立函数中,你就已经完成了 Python 语法大厦中最关键的奠基步骤。接下来可以基于这些核心结构,进一步探索模块导入、文件读写与面向对象编程等更高阶的功能模块。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表