Python def用法
1. 概述
在Python中,def
是用于定义函数的关键字。函数是一段可重复使用的代码块,通过函数可以将代码组织成更小、更具有可读性的部分。函数的定义通常包括函数名、参数列表和函数体。
2. 函数定义和调用
函数定义使用def
关键字,定义的函数可以有返回值也可以没有。函数调用使用函数名后跟一对圆括号,如果有参数则在圆括号中传入对应的值。
示例代码:
def greet():
print("Hello, world!")
greet() # 调用函数
输出:
Hello, world!
3. 函数参数
函数的参数可以在函数定义时指定,函数定义中的参数称为形式参数,函数调用时传入的参数称为实际参数。Python中的函数参数可分为以下几种类型:
3.1 位置参数
位置参数是指按照参数的位置顺序进行匹配和传递的参数。当调用函数时,传递的实际参数要与函数定义中的形式参数按照顺序一一对应。
示例代码:
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 输出 8
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
3.3 关键字参数
关键字参数是通过参数名指定传递的参数,可以不按照参数定义的顺序进行传递。
示例代码:
def student_info(name, age):
print("Name:", name)
print("Age:", age)
student_info(age=18, name="Alice") # 传递关键字参数
输出:
Name: Alice
Age: 18
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
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
5. 空函数
有时候需要定义一个什么都不做的空函数,可以使用pass
关键字表示。pass
语句不做任何操作,只是作为占位符存在。
示例代码:
def do_nothing():
pass
do_nothing() # 空函数,什么都不做
6. 递归函数
递归函数是指在函数体内调用自身的函数。递归函数通过不断调用自身来解决问题,通常需要设置递归终止条件。
示例代码:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
result = factorial(5)
print(result) # 输出 120
7. Lambda函数
Lambda函数是一种匿名函数,可以用来快速定义简单的函数。Lambda函数使用lambda
关键字定义,只能包含一个表达式,没有函数名。
示例代码:
multiply = lambda a, b: a * b
result = multiply(3, 4)
print(result) # 输出 12
8. 函数的文档字符串
函数的文档字符串用于描述函数的功能、参数、返回值等相关信息,通过__doc__
属性可以获取函数的文档字符串。
示例代码:
def greet():
"""
打印"Hello, world!"
"""
print("Hello, world!")
print(greet.__doc__)
输出:
打印"Hello, world!"
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
10. 总结
Python的def
关键字用于定义函数,函数包含了代码块、参数列表和返回值。参数列表可以包括位置参数、默认参数、关键字参数和可变参数。函数定义完成后,可以进行函数调用。函数可以有返回值,也可以没有。此外,Python还提供了空函数、递归函数和Lambda函数等特性,方便编写不同类型的函数。通过文档字符串和内置函数,可以对函数进行说明和调用。