Python 函数的返回值类型及返回多个值的方法
Python 是一种优雅而简单的编程语言,具有优秀的代码可读性和强大的交互性质。在 Python 中,函数与其他编程语言中的函数类似,用于封装一组特定的任务,可以通过传递参数来执行,然后返回输出结果。
在本文中,我们将介绍 Python 函数的返回值类型及返回多个值的方法。
1. 函数返回值类型
Python 中的函数可以返回任何类型的值,包括整数、浮点数、字符串、元组、列表、字典等等。以下是关于不同返回类型的示例代码:
# 返回整数
def calculate_sum(a, b):
return a + b
# 返回浮点数
def calculate_divide(a, b):
return a / b
# 返回字符串
def concatenate_strings(str1, str2):
return str1 + str2
# 返回元组
def get_personal_details(name, age):
return name, age
# 返回列表
def get_even_numbers(limit):
return [i for i in range(limit) if i%2==0]
# 返回字典
def get_student_details(name, roll_no, marks):
return {"Name": name, "Roll No.": roll_no, "Marks": marks}
在上述代码中,我们已定义 6 个不同的函数来返回不同类型的值。返回值类型可以是任何类型,根据需求而定。为了从这些函数中获取输出结果,需要将函数调用分配给一个变量。
例如,为了获取 calculate_sum 函数中的整数输出,可以使用以下代码:
>>> result = calculate_sum(10, 20)
>>> print(result)
30
此外,如果函数没有明确的返回语句,则返回 None。
2. 函数返回多个值
Python 中,函数可以返回多个值。当我们定义函数时,可以将多个值包装在一个元组中返回。以下是使用元组返回多个值的示例代码:
# 返回两个整数
def get_limits():
return 0, 100
# 返回两个字符串
def get_names():
return "Tom", "Jerry"
# 返回两个列表
def get_even_odd_numbers(limit):
even_numbers = [i for i in range(limit) if i%2==0]
odd_numbers = [i for i in range(limit) if i%2==1]
return even_numbers, odd_numbers
# 返回两个字典
def get_student_details():
student1 = {"Name": "Tom", "Roll No.": 101, "Marks": 80}
student2 = {"Name": "Jerry", "Roll No.": 102, "Marks": 90}
return student1, student2
在上述代码中,我们定义了 4 个函数,每个函数都返回多个值。可以将返回的值分配给多个变量,如下所示:
>>> lower, upper = get_limits()
>>> print(lower, upper)
0 100
>>> first_name, last_name = get_names()
>>> print(first_name, last_name)
Tom Jerry
>>> even_numbers, odd_numbers = get_even_odd_numbers(12)
>>> print(even_numbers, odd_numbers)
[0, 2, 4, 6, 8, 10] [1, 3, 5, 7, 9, 11]
>>> student1, student2 = get_student_details()
>>> print(student1, student2)
{'Name': 'Tom', 'Roll No.': 101, 'Marks': 80} {'Name': 'Jerry', 'Roll No.': 102, 'Marks': 90}
上述代码显示了如何将返回的元组分配给不同的变量。分配的变量数量必须与返回的元素数量相同,否则会引发 TypeError。
总结
在 Python 中,函数可以返回任何类型的值,包括整数、浮点数、字符串、元组、列表、字典等。为了从函数中获取输出结果,需要将函数调用分配给一个变量。此外,Python 中的函数也可以返回多个值,这些值可以封装在一个元组中返回。可以将返回的元组分配给多个变量。
