函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。
返回简单值
调用返回值的函数时,需要提供一个变量,用于存储返回的值。在下方的例子中,我们将返回值赋值给变量 full_name。
# 输入 def transfer_data(first_name,last_name): full_name = first_name + " " + last_name return full_name.title() person = transfer_data("Tommi","Jer") print(person) # 输出 Tommi Jer
实参变成可选
有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。只有同时提供函数中定义好的多个参数,函数才能正确地运行。这里可以这么理解:在函数定义的时候,我们可以将定义好部分形参的默认值。在函数处理的过程中,如果没有实参传递给形参,那函数将调用形参中的默认值。 从而利用这个默认值进行一下操作,来实现实参可选的目标。
# 输入 def transfer_data(first_name,last_name,middle_name = ""): if middle_name: full_name = first_name + " " + middle_name + " " + last_name else: full_name = first_name + " " + last_name return full_name.title() person = transfer_data("Tommi","Jer") print(person) person = transfer_data("Tommi","Jer","Levin") print(person) # 输出 Tommi Jer Tommi Levin Jer
返回字典
函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。这里只是列举返回类型为字典的情况。
# 输入 def transfer_data(first_name,last_name,middle_name = ""): person = {'first_name':first_name,'last_name':last_name} if middle_name: person['middle_name'] = middle_name return person user = transfer_data("Tommi","Jer") print(user) user = transfer_data("Tommi","Jer","Levin") print(user) # 输出 {'first_name': 'Tommi', 'last_name': 'Jer'} {'first_name': 'Tommi', 'last_name': 'Jer', 'middle_name': 'Levin'}