1. 主页
  2. 文档
  3. Python教程
  4. Python进阶
  5. 函数

函数

函数是Python中的重要概念,允许您组织和重用代码块。函数由函数名、参数和函数体组成,它们可以接受输入并产生输出。

函数的定义

在Python中,函数通过使用def关键字来定义。

一个函数的基本结构如下:

def function_name(parameters):
    """Docstring: 函数的文档字符串,描述函数的作用、参数和返回值"""
    # 函数体,包含要执行的代码块
    statements
    return expression  # 可选的返回语句
  • function_name 是函数的名称,应该遵循命名规范(例如使用小写字母和下划线分隔单词)。
  • parameters 是函数的参数列表,可以包含零个或多个参数,多个参数之间用逗号分隔。
  • """Docstring""" 是函数的文档字符串,用于描述函数的作用、参数、返回值等信息,通常写在函数定义的第一行。
  • 函数体包含要执行的代码块,可以是任意数量的语句,可以包含条件语句、循环语句、变量赋值等。
  • return语句是可选的,用于从函数中返回值,可以返回单个值、多个值(以元组形式返回)、或者不返回任何值(返回None)。

以下是一个示例函数的定义:

def greet(name):
    """这是一个简单的问候函数"""
    message = f"Hello, {name}!"
    return message

在这个示例中,greet是函数的名称,它接受一个参数name,并返回一个问候消息。文档字符串描述了函数的作用,即用来生成问候消息。在函数体中,定义了一个变量message用于存储问候消息,并使用return语句将消息返回给调用者。

参数传递

函数可以接受位置参数、关键字参数和默认参数。位置参数按照参数列表的顺序传递,关键字参数通过参数名传递。

def add(x, y=0):
    """加法函数"""
    return x + y

result1 = add(34)  # 位置参数,结果为7
result2 = add(x=5, y=2)  # 关键字参数,结果为7
result3 = add(3)  # 默认参数,结果为3

返回值

使用return语句从函数中返回值。可以返回单个值或多个值(以元组形式返回)。

def divide(x, y):
    """除法函数"""
    if y == 0:
        return "Error: division by zero"
    else:
        return x / y

result = divide(102)  # 结果为5.0

匿名函数(Lambda 函数)

Lambda函数是一种简洁的方式定义小型匿名函数。它们通常用于函数式编程和在需要函数作为参数的情况下。

square = lambda x: x**2
result = square(5)  # 结果为25

递归函数

递归函数是指在函数定义中调用自身的函数。递归通常用于解决可以分解为相似子问题的问题。

def factorial(n):
    """计算阶乘的递归函数"""
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

result = factorial(5)  # 结果为120

我们要如何帮助您?