详解Python 函数特性

  • Post category:Python

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关键字开头,后面跟着函数的名称和参数列表。定义函数后,可以在程序的任何位置调用该函数,调用时传递具体的参数值。函数可以有返回值,也可以不返回任何值。