定义函数
使用def
关键字来定义一个函数。函数的基本结构如下:
def 函数名(参数1, 参数2, ...):# 函数体# 可以包含多个语句return 返回值 # 可选
示例
下面是一个简单的例子,定义一个函数来计算两个数的和:
def add(a, b):return a + b# 调用函数
result = add(3, 5)
print(result) # 输出: 8
参数和返回值
- 参数:函数可以接受参数,这些参数在函数体中被使用。
- 返回值:函数可以返回一个值,使用
return
语句。
可选参数和默认参数
你可以定义具有默认值的参数,这样在调用函数时可以省略这些参数:
def greet(name, greeting="Hello"):return f"{greeting}, {name}!"print(greet("Alice")) # 输出: Hello, Alice!
print(greet("Bob", "Hi")) # 输出: Hi, Bob!
可变数量参数
使用*args
和**kwargs
可以定义接受可变数量参数的函数:
def print_args(*args):for arg in args:print(arg)def print_kwargs(**kwargs):for key, value in kwargs.items():print(f"{key}: {value}")print_args(1, 2, 3)
# 输出:
# 1
# 2
# 3print_kwargs(a=1, b=2, c=3)
# 输出:
# a: 1
# b: 2
# c: 3
Lambda函数
Lambda函数是一种简洁的定义单行函数的方式:
add = lambda x, y: x + y
print(add(3, 5)) # 输出: 8
嵌套函数
函数内部可以定义其他函数:
def outer():def inner():return "I am inner"return inner()print(outer()) # 输出: I am inner
递归函数
函数可以调用自身,这种函数称为递归函数:
def factorial(n):if n == 0:return 1else:return n * factorial(n - 1)print(factorial(5)) # 输出: 120
闭包
闭包是指一个函数记住了它的创建环境,即使这个函数在创建它的环境之外被调用:
def make_multiplier(factor):def multiplier(number):return number * factorreturn multipliertimes_two = make_multiplier(2)
print(times_two(5)) # 输出: 10
这些是Python中函数的一些基本概念和用法。希望这些信息对你有帮助!如果你有任何进一步的问题或需要更详细的解释,请告诉我。