Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

到现在为止,你可能已经注意到一些代码模式会重复出现。
如果你能将这些代码打包成一个整体,给它起个名字,然后随时调用而不需要反复编写,会怎样呢?

这正是函数的用途。

你可以把函数看作是程序里一个小程序
它有名字,可以接受输入,执行某些操作,并且(可选地)返回结果。


为什么使用函数?

函数是编程中最强大的工具之一,因为它们可以:

  • 避免重复 —— 写一次,到处用。
  • 组织代码 —— 把大问题拆成更小、更易管理的部分。
  • 简化测试 —— 你可以独立检查某一段逻辑,无需运行整个程序。

小贴士:函数就像厨房电器。你可以每次手工揉面,但搅拌机更快、更稳定,并且随时可以用。

定义你的第一个函数

在 Python 中,你用 def 关键字来创建(定义)函数,后面跟函数名、括号(括号内放输入参数,称为参数)和冒号。
然后缩进函数体内的代码。

示例:

def square(number):
    return number * number

print(square(4))  # 16

这段代码做了什么:

  1. 定义函数 square,接收一个参数 number
  2. 函数内部返回 number 乘以自身的结果。
  3. 调用 square(4),将 number 替换为 4。
  4. 函数返回 16,由 print() 打印出来。

重要!return 语句会把值返回到函数被调用的位置。若忘记写,会返回 None。你以后会学到,不是所有函数都需要返回值,有些函数只是执行某些操作而已。

多参数函数

函数可以接受任意数量的输入。这些值放在括号中,用逗号分隔。

示例:

def add(num1, num2):
    return num1 + num2

result = add(5, 6)
print(result)  # 11

这里,调用函数时,num1 变成 5,num2 变成 6。函数内部将它们相加并返回和。

注意num1num2 只存在于函数内部——它们是局部变量

默认参数值

有时你希望参数有一个默认值,用户不必每次都提供。

示例:

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

greet("John")                   # 使用默认问候语
greet("Maria", "Good evening")  # 使用自定义问候语

如果不传递问候语,则默认使用"Hello"。如果传递了,则覆盖默认。

小贴士:默认参数必须放在函数定义中的所有必需参数之后。

总结

函数是构建更大、更清晰、更智能程序的工具箱。 你可以多次调用,传入不同参数,并期望函数一致地完成工作。

下一课,我们将探讨递归——一种特殊函数调用自身的技术。虽然听起来奇怪,但它为解决某些问题提供了优雅的方案。