Python 函数特性使用方法攻略
什么是Python函数
Python函数是在程序中一次定义,无数次调用的可重用代码块,它由名称、参数列表和相应的代码块组成。当Python程序调用函数时,程序控制权会转移到函数的代码块中,执行代码块中的语句,再返回到调用点处继续执行代码。Python函数的主要用途是封装可重用的代码块,从而实现代码复用和程序简洁性。
函数定义
Python函数的定义语法如下:
def functionName(parameter1, parameter2, ...):
"""Function documentation string"""
# Function body
return result
函数定义以def
关键字开头,后面跟着函数的名称。函数名称通常用小写字母命名,多个单词用下划线分隔。函数名称后面紧跟着一对括号,括号中包含参数名。函数参数是可选的,一个函数可以没有参数,也可以拥有多个参数。函数定义的最后必须以一个冒号结尾。在函数定义中,第一行可以是一个字符串,用于描述函数的作用,称之为函数文档字符串(DocString),其可以为空。
函数调用
定义函数后,可以在程序的任何位置调用该函数。Python函数的调用语法如下:
functionName(argument1, argument2, ...)
函数调用以函数名称开头,后面跟着一对括号。括号中包含传递给函数的实际参数。如果函数有多个参数,则参数之间用逗号分隔。
函数参数
Python函数中的参数可以分为两类:位置参数和关键字参数。
位置参数
位置参数是在函数调用中按照参数列表的位置进行传递的参数。例如,下面的函数定义接收两个位置参数值,然后把它们相加并返回结果:
def add_numbers(num1, num2):
return num1 + num2
使用位置参数调用该函数的语法如下:
result = add_numbers(2, 3)
print(result) # 5
关键字参数
关键字参数与位置参数不同,它是根据参数名称进行传递的。例如,下面的函数定义接收两个关键字参数,然后把它们相乘并返回结果:
def multiply_numbers(num1, num2):
return num1 * num2
使用关键字参数调用该函数的语法如下:
result = multiply_numbers(num1=2, num2=3)
print(result) # 6
使用关键字参数时,可以不按照参数列表的顺序传递参数。例如:
result = multiply_numbers(num2=3, num1=2)
print(result) # 6
函数返回值
函数可以返回一个值,也可以不返回任何值。如果函数不返回任何值,则返回None
。下面的函数定义接收两个参数,然后将它们相乘并返回结果:
def multiply_numbers(num1, num2):
return num1 * num2
调用该函数并返回结果的语法如下:
result = multiply_numbers(2, 3)
print(result) # 6
示例
计算平均数
下面的函数接收一个列表作为参数,然后计算并返回该列表中所有元素的平均值:
def calculate_average(numbers):
total = sum(numbers)
return total / len(numbers)
调用该函数的语法如下:
numbers = [20, 30, 50, 70, 90]
average = calculate_average(numbers)
print('The average of', numbers, 'is', average)
输出结果如下:
The average of [20, 30, 50, 70, 90] is 52.0
反转字符串
下面的函数接收一个字符串作为参数,然后返回该字符串的反转形式:
def reverse_string(string):
return string[::-1]
调用该函数的语法如下:
string = 'Python'
reversed_string = reverse_string(string)
print('The reversed string of', string, 'is', reversed_string)
输出结果如下:
The reversed string of Python is nohtyP
总结
Python函数是实现代码复用和程序简洁性的关键要素之一。函数定义以def
关键字开头,后面跟着函数的名称和参数列表。定义函数后,可以在程序的任何位置调用该函数,调用时传递具体的参数值。函数可以有返回值,也可以不返回任何值。