函数是一个基本的代码单元,用于组织或重用一批特定功能的代码段,从而使得软件开发过程更为模块化,代码重用率更高。

1. 函数定义语法

其中:

  • def:函数定义关键字;
  • 函数名:函数的名称,命名需要符合Python3命名规范;
  • 参数列表:函数执行时所需的输入参数列表,若函数不需要输入,可以为空;
  • 文档字符串:该函数的说明文档,可选;
  • 函数体:函数中需要进行的一系列操作语句的集合;
  • 返回值:函数执行完毕后返回给调用者的值,可选。

2. 函数参数

函数参数列表可以为空,也可以使用多种不同的参数组合而成。Python3支持的参数类型有:

  • 必选参数:在调用函数时,必选参数必须按照函数定义时的顺序依次输入,且类型和数量要保持一致;
  • 默认参数:定义函数时,在参数列表为参数提供默认值,调用函数时,默认参数可以不输入使用默认值,也可以输入其它值;
  • 可变长度参数:定义形式如 *args ,可以接收可变数量的参数输入;
  • 关键字参数:定义形如 **kwargs 的参数,在调用时允许输入0个或多个形如 key=value 的关键字变量。

另外还支持将参数压缩为列表或字典,批量传入。函数参数在参数列表中的次序如下:必选参数,默认参数,可变长度参数,关键字参数。以下是函数参数使用示例:

3. 函数返回值

在函数体中,通过调用 return [expression] 语句退出函数执行,并将返回值传递给调用者。当return语句后无表达式时,返回值为None。

4. 变量作用域

对于函数来说,其内部定义的变量为本地变量,只能在其内部访问;其外部定义的变量为全局变量,可以在函数中访问。此外,函数内部的语句块不具有独立的作用域,而嵌套函数有独立的作用域。默认情况下变量访问所遵循的规则为:

  • 在嵌套函数中,变量名的查找次序为:当前函数体内->上一级函数->…->函数外部作用域,查找过程由内到外,直到找到对应函数为止;
  • 在函数内部(非嵌套函数),若变量名存在则直接使用,否则在全局作用域中继续查找。

5. 匿名函数

Python中可通过lambda表达式来定义匿名函数,其语法如下:

匿名函数的等价形式如下:

使用示例:

留下一个回复

请输入您的评论!
请输入您的昵称