Python def用法

Python def用法

Python def用法

1. 概述

在Python中,def是用于定义函数的关键字。函数是一段可重复使用的代码块,通过函数可以将代码组织成更小、更具有可读性的部分。函数的定义通常包括函数名、参数列表和函数体。

2. 函数定义和调用

函数定义使用def关键字,定义的函数可以有返回值也可以没有。函数调用使用函数名后跟一对圆括号,如果有参数则在圆括号中传入对应的值。

示例代码:

def greet():
    print("Hello, world!")

greet()  # 调用函数
Python

输出:

Hello, world!
Python

3. 函数参数

函数的参数可以在函数定义时指定,函数定义中的参数称为形式参数,函数调用时传入的参数称为实际参数。Python中的函数参数可分为以下几种类型:

3.1 位置参数

位置参数是指按照参数的位置顺序进行匹配和传递的参数。当调用函数时,传递的实际参数要与函数定义中的形式参数按照顺序一一对应。

示例代码:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 输出 8
Python

3.2 默认参数

默认参数是在函数定义时指定的参数默认值。当调用函数时,如果没有传递对应的实际参数,将使用默认值。

示例代码:

def power(base, exponent=2):
    return base ** exponent

result1 = power(3)  # 使用默认的 exponent 值为 2
result2 = power(3, 4)  # 指定 exponent 值为 4
print(result1)  # 输出 9
print(result2)  # 输出 81
Python

3.3 关键字参数

关键字参数是通过参数名指定传递的参数,可以不按照参数定义的顺序进行传递。

示例代码:

def student_info(name, age):
    print("Name:", name)
    print("Age:", age)

student_info(age=18, name="Alice")  # 传递关键字参数
Python

输出:

Name: Alice
Age: 18
Python

3.4 可变参数

可变参数是指传入的参数个数是可变的,可以是任意数量的参数。在函数定义时,可使用*表示可变参数。

示例代码:

def average(*numbers):
    total = sum(numbers)
    return total / len(numbers)

result1 = average(3, 4, 5)
result2 = average(1, 2, 3, 4, 5)
print(result1)  # 输出 4
print(result2)  # 输出 3
Python

4. 函数返回值

函数可以有返回值,返回值使用return关键字指定。如果没有指定返回值,则函数默认返回None

示例代码:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 输出 8

def greet():
    print("Hello, world!")

result = greet()
print(result)  # 输出 None
Python

5. 空函数

有时候需要定义一个什么都不做的空函数,可以使用pass关键字表示。pass语句不做任何操作,只是作为占位符存在。

示例代码:

def do_nothing():
    pass

do_nothing()  # 空函数,什么都不做
Python

6. 递归函数

递归函数是指在函数体内调用自身的函数。递归函数通过不断调用自身来解决问题,通常需要设置递归终止条件。

示例代码:

def factorial(n):
    if n == 1:
        return 1
    else:
        return n * factorial(n-1)

result = factorial(5)
print(result)  # 输出 120
Python

7. Lambda函数

Lambda函数是一种匿名函数,可以用来快速定义简单的函数。Lambda函数使用lambda关键字定义,只能包含一个表达式,没有函数名。

示例代码:

multiply = lambda a, b: a * b

result = multiply(3, 4)
print(result)  # 输出 12
Python

8. 函数的文档字符串

函数的文档字符串用于描述函数的功能、参数、返回值等相关信息,通过__doc__属性可以获取函数的文档字符串。

示例代码:

def greet():
    """
    打印"Hello, world!"
    """
    print("Hello, world!")

print(greet.__doc__)
Python

输出:

打印"Hello, world!"
Python

9. 内置函数

除了自定义函数,Python还提供了一些内置函数,可以直接使用而无需定义。常用的内置函数包括len()max()min()print()等。

示例代码:

length = len("Hello")
maximum = max(4, 2, 6, 8)
minimum = min([5, 3, 1, 9])
print(length)  # 输出 5
print(maximum)  # 输出 8
print(minimum)  # 输出 1
Python

10. 总结

Python的def关键字用于定义函数,函数包含了代码块、参数列表和返回值。参数列表可以包括位置参数、默认参数、关键字参数和可变参数。函数定义完成后,可以进行函数调用。函数可以有返回值,也可以没有。此外,Python还提供了空函数、递归函数和Lambda函数等特性,方便编写不同类型的函数。通过文档字符串和内置函数,可以对函数进行说明和调用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册