一、函数定义
在Python中,使用def
关键字定义函数,函数结构如下:
def function_name(parameters):
"""函数文档字符串"""
function_body
其中function_name
为函数名,parameters
为函数参数列表,可以为空;函数体使用缩进表示。
例如,下面的函数计算两个数的和:
def add(x, y):
"""
计算两数之和
x: 第一个加数
y: 第二个加数
"""
return x + y
该函数的调用方式为:
result = add(1, 2)
print(result)
# 输出为:3
二、函数参数
1. 必需参数
必需参数是指在调用函数时必须传入的参数,如果没有传入或者传入个数错误,会报错。 例如,下面的函数计算一个数的平方:
def square(x):
"""
计算一个数的平方
x: 要计算的数
"""
return x ** 2
函数调用示例:
result = square(3)
print(result)
# 输出为:9
2. 关键字参数
关键字参数是指在调用函数时使用参数名来传递参数值,可以不按照定义顺序传递,且能够给参数提供默认值。 例如,下面的函数计算一个数的n次方:
def power(x, n=2):
"""
计算一个数的n次方
x: 要计算的数
n: 幂次数,默认为2次方
"""
return x ** n
函数调用示例:
result1 = power(3)
result2 = power(x=3, n=3)
print(result1)
print(result2)
# 输出为:9和27
3. 可变参数
可变参数是指可以传入任意个数参数的一种参数形式。在函数定义时,在参数名称前面加一个 *
号即可定义可变参数。
例如,下面的函数计算多个数的和:
def add(*nums):
"""
计算多个数的和
nums: 需要计算的数,可以传任意个数
"""
result = 0
for num in nums:
result += num
return result
函数调用示例:
result1 = add(1, 2, 3)
result2 = add(1, 2, 3, 4, 5)
print(result1)
print(result2)
# 输出为:6和15
三、函数返回值
函数可以返回一个值或者多个值。使用return
关键字来返回函数值,可以返回任意类型的值。
例如,下面的函数计算两个数的商和余数:
def divide(x, y):
"""
计算两个数的商和余数
x: 被除数
y: 除数
"""
quotient = x // y # 整除,得到商
remainder = x % y # 取模,得到余数
return quotient, remainder
函数调用示例:
result = divide(10, 3)
print(result)
# 输出为:(3, 1)
四、函数文档字符串
函数文档字符串是对函数功能、参数、返回值等信息的文本描述,可以通过help()
函数获取。
例如,下面的函数带有文档字符串:
def square(x):
"""
计算一个数的平方
x: 要计算的数
"""
return x ** 2
可以通过help()
函数获取文档字符串的内容:
help(square)
# 输出为:
# Help on function square in module __main__:
#
# square(x)
# 计算一个数的平方
#
# x: 要计算的数
五、函数嵌套
在Python中,函数可以嵌套定义,即在函数内部再定义一个函数。 例如,下面的函数实现了两个数组的对应元素相加:
def add_array(a, b):
"""
实现两个数组的对应元素相加
a: 第一个数组
b: 第二个数组
"""
# 定义一个函数,用于求两个数之和
def add(x, y):
return x + y
# 对应元素相加,并返回结果数组
result = []
for i in range(len(a)):
result.append(add(a[i], b[i]))
return result
函数调用示例:
result = add_array([1, 2, 3], [4, 5, 6])
print(result)
# 输出为:[5, 7, 9]
六、总结
本篇文章主要介绍了Python中函数的定义、参数、返回值、文档字符串和嵌套等概念,通过代码示例和说明进行了深入浅出的讲解,希望对Python初学者有所帮助。