Python 函数

函数是一段用来封装 encapsulate 任务的实用代码,可以将程序拆分为更小的部分(基于功能为单位),使代码更容易编写、阅读和重用。

Announce

封装是指用一个简单的命令执行一系列步骤的方式。

定义函数

函数由函数头部函数主体构成

python
def cylinder_volume(height, radius):
    pi = 3.14159
    return height * pi * radius ** 2

函数头部

函数第一行为函数头部,包括:

  • 关键字 def 作为开始,表示进行函数定义
  • 函数名称(一个单词,需遵循变量命名规则
  • 函数名后紧跟括号 ()
  • 括号 () 内包含形参(或实参、无参数为空也可以),多个形参以逗号 , 分隔;可以为形参提供默认值(在调用函数时,若用户未向形参指定值就会引用默认值执行代码)
  • 以冒号 : 结束头部

函数主体

函数执行操作的部分,在头部下以缩进的形式存在

  • 形参可在主体中使用
  • 在主体中创建的变量只能在主体中使用(即在函数主体内创建的变量 作用域 只能是函数主体部分)
  • 函数最终可使用关键字 return 返回 特定的执行结果,也可以不返回(则默认返回 None)。注意 print() 函数虽然会将结果输出于屏幕上,但是其返回为 None

返回值

返回语句 return 接受一个值(一般是函数的局部变量值),并将其返回到调用函数的位置

  • 一般将调用的函数通过赋值符号将返回值传递给另一个变量,以便后续使用函数输出的结果
  • 当函数执行返回语句后,函数终止。因此设置多个返回语句一般是无效代码,一般选择第一个运行的返回语句的结果作为返回值
python
def function(parameter):
    return some_value
Tip

当一个函数没有 return 语句时,则其返回值默认为 None

文档字符串 docstrings

文档字符串是一种注释,用于解释函数的作用以及使用方式。

格式:

  • 位于函数头部下一行
  • 以三个引号 """ 开始,并在最后(或另起一行)以三个引号 """ 结束
  • 第一行简要解释了函数的作用
  • 需要更长的句子来解释函数,可以在一行添加更多信息。可以对函数的参数进行了解释(描述了每个参数的作用和类型);也可以对函数输出进行说明。

函数命名规范

  • 仅使用普通字母(小写)数字下划线,且需要以字母和下划线开头
  • 不能使用 Python 的保留字内置标识符
  • 命名尽量用小写,方式以snake case,即使用下划线连接单词,使用有助于了解函数功能作用的描述性名称
  • 确保名称里没有空格

调用函数

通过函数名和添加指定的参数即可调用函数

指定参数可通过两种方式:

  • 按照参数顺序依次给出值
  • 使用 形参名称赋值符号 = 赋值(这种方式可不考虑形参的顺序)
python
cylinder_volume(10, 3)

Lambda表达式

使用 Lambda 表达式创建匿名函数(即没有名称的函数),lambda 表达式非常适合快速创建在代码中以后不会用到的函数。

尤其对高阶函数将其他函数作为参数的函数

python
def multiply(x, y):
    return x * y

使用 Lambda 表达式(简写形式):

python
double = lambda x, y: x * y

Lambda 函数创建

  • 以关键字 lambda 开始
  • 关键字后为该匿名函数的一个或多个参数(用逗号 , 分隔),不需要小括号 () 括起来
  • 冒号 : 分隔形参和函数主体部分
  • 函数主体部分适合于简单的语句,是被评估并在该函数中返回的表达式(类似于 return 语句)

Copyright © 2025 Ben

Theme BlogiNote

Icons from Icônes