Python 自定义函数是用于执行特定任务的代码块。通过函数,可以将复杂的代码分解为更小的模块,便于维护和重复使用。以下是 Python 自定义函数的规则:
函数命名规则
函数名可以包含字母、数字和下划线,但不可以以数字开头。建议使用有意义的名称,便于其他人理解你所编写的代码。
定义函数
你可以使用 def 语句来定义函数,语法如下:
def function_name(parameters):
"""文档字符串说明函数功能"""
#代码块
return [expression]
- 函数定义以 def 关键字开头,后跟函数名和括号 ()。
- 函数参数列表包括在括号内,并用逗号分隔。函数可以有零个、一个或多个参数。
- 函数的第一行通常是文档字符串,用于描述函数的功能和参数含义,加强代码的可读性。
- 代码块以冒号 : 开始,并缩进。函数中必须至少包含一条语句。
- return 语句用于从函数返回值。如果省略表达式,则返回 None。
以下是一个示例:
def greet_user(name):
"""向用户问候"""
print(f"Hello, {name}!")
调用函数
当一个函数被定义后,可以通过函数名来调用它,语法如下:
function_name(parameters)
以下是一个调用示例:
greet_user('Alex')
输出结果为:
Hello, Alex!
函数参数
函数可以使用两种参数类型:必需参数和关键字参数。
必需参数
必需参数是指调用函数时必须传入的参数,函数定义中的参数默认都是必需参数。调用函数时,必需参数的顺序必须与函数定义的顺序一致。
以下示例定义了一个 add_numbers 函数,包含两个必需参数 num1 和 num2,返回 num1 和 num2 的和。
def add_numbers(num1, num2):
"""计算两个数字的和"""
return num1 + num2
以下是调用示例:
result = add_numbers(10, 20)
print(f"The result is {result}")
输出结果为:
The result is 30
关键字参数
关键字参数是指传入的参数带有参数名,这种方式可以在任意顺序调用参数,不受函数参数位置的限制。以下示例定义了一个 greet_user 函数,包含两个关键字参数 first_name 和 last_name,返回打招呼用语。
def greet_user(first_name, last_name):
"""向用户问候"""
print(f"Hello, {first_name} {last_name}!")
以下是调用示例:
greet_user(last_name="Doe", first_name="John")
输出结果为:
Hello, John Doe!
默认参数
默认参数是在函数定义中给定的参数值,如果函数调用时未指定该参数,则使用默认值。
以下示例定义了一个 make_pizza 函数,包含两个必需参数 toppings 和 size,以及一个默认参数 crust。
def make_pizza(toppings, size, crust='thin'):
"""制作披萨"""
print(f"Making a {size}-inch pizza with {crust} crust and the following toppings:")
for topping in toppings:
print(f" - {topping}")
以下是调用示例:
make_pizza(['pepperoni', 'mushrooms'], 12)
输出结果为:
Making a 12-inch pizza with thin crust and the following toppings:
- pepperoni
- mushrooms
可变参数
可变参数允许在函数调用时传入不同数量的参数。
以下示例定义了一个 add_numbers 函数,包含一个 *args 参数,可以接收任意数量的数字参数,返回这些数字的和。
def add_numbers(*args):
"""计算可变数量数字的和"""
total = 0
for number in args:
total += number
return total
以下是调用示例:
result = add_numbers(10, 20, 30)
print(f"The result is {result}")
输出结果为:
The result is 60
文档字符串
函数定义的第一个字符串是文档字符串,通常用来解释函数行为和参数含义。调用 help() 内置函数可以显示文档字符串。
help(function_name)
总结
本文介绍了 Python 自定义函数的规则,函数命名规则、函数定义、调用函数、函数参数、默认参数、可变参数和文档字符串。这些规则可以使你更好地编写规范的 Python 代码,增强代码可读性和可维护性。