在Python中定义函数主要有以下几种形式:
一、基本形式
-
无参数函数
- 定义:
def func(): print("这是一个无参数函数")
- 调用:
func()
- 定义:
-
有参数函数
- 定义:
def func(param1, param2): print(f"参数1是{param1},参数2是{param2}")
- 调用:
func(1, "hello")
- 定义:
二、默认参数函数
- 定义
- 在函数定义时为参数设置默认值。
- 示例:
def func(param1, param2 = 10): print(f"param1为{param1},param2为{param2}")
- 调用:
- 当只传入一个参数时,使用默认值:
func(5)
- 当传入两个参数时,覆盖默认值:
func(3, 8)
- 当只传入一个参数时,使用默认值:
三、可变参数函数
-
非关键字可变参数(args)
- 定义
- 允许函数接受任意数量的位置参数,这些参数会被打包成一个元组。
- 示例:
def func(*args): for arg in args: print(arg)
- 调用
func(1, 2, 3, "hello")
- 定义
-
关键字可变参数(kwargs)
- 定义
- 允许函数接受任意数量的关键字参数,这些参数会被打包成一个字典。
- 示例:
def func(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}")
- 调用
func(name="Alice", age = 25)
- 定义
四、匿名函数(lambda函数)
- 定义
- 是一种简洁的定义函数的方式,通常用于简单的操作。
- 示例:
- 对于单个表达式的函数:
add = lambda x, y: x + y print(add(3, 5))
- 可以直接使用:
print((lambda x: x * 2)(5))
- 对于单个表达式的函数:
五、递归函数
- 定义
- 函数在其定义中调用自身。
- 示例:计算阶乘
def factorial(n): if n == 0 or n == 1: return 1 else: return n * factorial(n - 1) print(factorial(5))