Python中的函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。它们能提高代码的模块性,和代码复用率。你可以将功能性代码块定义为函数,并在需要时调用它们。
函数定义
在Python中,def
关键字是用来定义函数的。以下是一个简单的Python函数例子:
# 定义一个函数,名为greet,它接受一个参数name
def greet(name):"""向用户发出问候参数:name (str): 一个代表名字的字符串"""# 打印一个问候语print(f"Hello, {name}!")
函数调用
定义函数后,你可以通过函数名以及括号中包含的参数来调用它。
# 调用greet函数,并传递参数'World'
greet('World')
参数
函数可以有多个参数,这使得函数更加灵活。
# 定义一个函数,计算两个数的和
def add(a, b):"""返回两个数的和参数:a (int): 第一个整数b (int): 第二个整数"""return a + b# 调用add函数
sum = add(3, 4)
print(sum) # 输出: 7
默认参数
你可以为函数参数指定默认值,如果调用时没有传递参数,则使用默认值。
# 定义一个函数,带有默认参数
def info(name, age=35):"""打印名字和年龄参数:name (str): 名字age (int, optional): 年龄,默认为35"""print(f"Name: {name}, Age: {age}")# 调用info函数,只传递name参数
info('Alice')
# 调用info函数,传递name和age参数
info('Bob', age=40)
可变参数
有时你可能需要一个函数能处理比当初声明时更多的参数。这可以通过使用星号来实现。
# 定义一个函数,接受任意数量的参数
def var_args(*args):"""打印所有传递给函数的参数参数:*args: 一个参数元组"""for arg in args:print(arg)# 调用var_args函数,传递三个参数
var_args('one', 'two', 'three')
关键字参数
关键字参数允许你传递未知数量的键值对到一个函数。
# 定义一个函数,接受任意数量的关键字参数
def var_kwargs(**kwargs):"""打印所有传递给函数的关键字参数参数:**kwargs: 一个参数字典"""for key, value in kwargs.items():print(f"{key}: {value}")# 调用var_kwargs函数,传递两个关键字参数
var_kwargs(first='one', second='two')
文档字符串
文档字符串(docstrings)提供了一种方便的方式来记录函数的目的和如何使用它。它们是紧跟在函数def
行后的第一个未赋值的字符串。
def multiply(a, b):"""返回两个数的乘积参数:a (int): 第一个整数b (int): 第二个整数"""return a * b
Python函数是编程中的基本构建块之一。它们帮助你将代码组织为可重复使用的片段。理解函数的不同特性,如参数类型、默认参数、可变参数和关键字参数,可以帮助你创建更灵活、更强大的代码。