以下讲解Python中函数返回多个值的几种方法。
一、使用元组(Tuple):
Python中,元组是一个不可变序列,可以包含不同类型的元素。函数可以返回一个元组,调用者可以通过解包来获取多个返回值。
def person():
name='张三'
age=20
return name,age
result = person() #返回元组
print(result) # 输出:('张三', 20)
name,age = person()
print(name)
print(age)
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
('张三', 20)
张三
20
二、使用列表(list)
列表是一个可变的序列,同样可以用来返回多个值。
def person():
name='张三'
age=20
hobbies = ["阅读", "游泳", "旅行"]
return [name, age, hobbies] # 返回一个列表
result = person() #返回列表
print(result) # 输出:['张三', 20, ['阅读', '游泳', '旅行']]
print('姓名:',result[0])
print('年龄:',result[1])
print('爱好:',result[2])
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
['张三', 20, ['阅读', '游泳', '旅行']]
姓名: 张三
年龄: 20
爱好: ['阅读', '游泳', '旅行']
三、使用字典(Dictionary)
def person():
name='张三'
age=20
return {'name': name, 'age': age} # 返回一个字典
result = person()
print(result) # 输出:{'name': '张三', 'age': 20}
print('姓名:',result['name'])
print('年龄:',result['age'])
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
{'name': '张三', 'age': 20}
姓名: 张三
年龄: 20
四、 使用命名元组(namedtuple)
from collections import namedtuple
Person = namedtuple('Person', ['name', 'age'])
def get_person_info():
return Person('张三', 20)
person = get_person_info()
print(person.name, person.age) # 输出: 张三 20
五、使用deque
from collections import deque
def func():
return deque([1, 2, 3])
result = func()
print(result) # 输出:deque([1, 2, 3])
print(result[0])
print(result[1])
D:\App\python\python3.13.0\python.exe D:\WorkSpace-Python\Test\test.py
deque([1, 2, 3])
1
2
六、总结
注意事项:
- 元组是不可变的,如果你需要修改返回的多个值,应该使用列表或字典。