当前位置:首页>python>Python 语法第五课:函数

Python 语法第五课:函数

  • 2026-10-11 07:23:17
Python 语法第五课:函数

在前四课中,我们掌握了变量、输入输出、条件判断和循环,已经能写出功能完整的小程序了。但随着代码越写越长,你可能会发现:同样的逻辑复制粘贴了好几遍,改一个地方就要改好几处,代码又乱又难维护。

今天,我们将学习 Python 中最重要的代码组织方式——函数。它能把一段完成特定任务的代码封装成一个“工具”,起个名字,之后随时随地调用。

一、定义与调用:创建你的第一个工具

使用 def 关键字定义函数,函数名后跟括号和冒号,函数体必须缩进:
def greet(name):    """向指定用户打招呼(这是文档字符串,用于说明函数作用)"""    print(f"你好,{name}!欢迎来到Python世界!")# 调用函数greet("小明")greet("小红")
💡 核心原则:函数只定义不会执行,只有被调用时才会运行。就像你买了一个榨汁机,不按开关它就不会工作。

二、参数与返回值:让函数更灵活

1. 参数:给函数传递信息

参数是函数的“输入”,让同一个函数能处理不同的数据:

def add(a, b):    result = a + b    print(f"{a} + {b} = {result}")add(3, 5)   # 输出:3 + 5 = 8add(10, 20) # 输出:10 + 20 = 30

2. 返回值:让函数给出结果

如果函数需要把计算结果交还给调用者,就用 return。没有 return 的函数默认返回 None:
def multiply(a, b):    return a * b# 可以接收返回值做后续操作total = multiply(4, 6)print(f"乘积是:{total}")  # 输出:乘积是:24
⚠️ 新手必知:print 只是把内容显示在屏幕上,return才是真正把值传回给调用方。很多新手混淆两者,导致后续计算出错。

三、进阶:默认参数与关键字参数

1. 默认参数:给参数设置“保底值”

当某个参数经常使用相同的值时,可以设置默认值,调用时可以省略:

def introduce(name, age=18):    print(f"{name}今年{age}岁")introduce("小李")        # 输出:小李今年18岁(使用默认值)introduce("老王", 35)    # 输出:老王今年35岁(覆盖默认值)

2. 关键字参数:按名字传参,不怕顺序错

当参数较多时,用“参数名=值”的方式传参,清晰不易错:

def create_user(name, age, city):    print(f"{name}, {age}岁, 来自{city}")# 顺序可以任意,只要名字对应即可create_user(age=22, city="北京", name="小张")

四、实战:封装BMI计算器为函数

还记得第二课的 BMI 计算器吗?现在我们把它封装成函数,随时复用:

def calc_bmi(height, weight):    """    计算BMI指数    :param height: 身高(米)    :param weight: 体重(公斤)    :return: BMI值(保留两位小数)    """    bmi = weight / (height ** 2)    return round(bmi, 2)# 多次调用,无需重复写公式bmi1 = calc_bmi(1.75, 70)bmi2 = calc_bmi(1.60, 55)print(f"张三BMI:{bmi1}")  # 输出:张三BMI:22.86print(f"李四BMI:{bmi2}")  # 输出:李四BMI:21.48

五、新手避坑指南

  1. 忘记 return
    :想用函数的计算结果却忘了写 return,得到的是 None,后续运算全部报错。
  2. 默认参数放错位置
    :默认参数必须放在非默认参数后面,def func(a=1, b) 会直接报语法错误。
  3. 函数内修改全局变量
    :函数内部创建的变量是局部变量,函数结束就消失。想修改全局变量需用 global 关键字(但新手阶段尽量避免使用)。
  4. 函数命名不规范
    :遵循小写字母+下划线规则,如 calc_bmi,不要用数字打头。

六、总结

  • def
    :定义函数,封装可复用代码。
  • 参数
    :让函数接收外部数据,灵活适配不同场景。
  • return
    :让函数返回结果,而非仅仅打印。
  • 默认/关键字参数
    :提升函数调用的便捷性与可读性。

至此,Python 基础语法五大核心模块全部学完!你已经具备了独立编写结构化程序的能力。下一课,我们将进入数据结构篇,学习列表、元组、字典,让你的程序能高效管理批量数据。

最新文章

随机文章