Python编程从入门到实践日记Day28
第7章 函数(四)
1.返回值 函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。 — 返回简单值 下面来看一个函数,它接受名和姓并返回整洁的姓名: 函数get_formatted_name()的定义通过形参接受名和姓。它将姓和名合二为一,在它们之间加上一个空格,并将结果存储在变量full_name中。然后,将full_name的值转换为首字母大写格式,并将结果返回到函数调用行。 调用返回值得函数时,需要提供一个变量,用于存储返回的值。在这里,将返回值存储在了变量musician中。输出为整洁的名字: 在需要分别存储大量名和姓的大型程序中,像get_formatted_name()这样的函数非常有用。你分别存储名和姓,每当需要显示姓名时都调用这个函数。 — 让实参变成可选的 有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。 例如,假设我们要扩展函数get_formatted_name(),使其还处理中间名,为此,可将其修改成类似于下面这样: 只要同时提供名、中间名和姓,这个函数就能正确地运行。它根据这三部分创建一个字符串,在适当的地方加上空格,并将结果转换为首字母大写格式: 然而,并非所有人都有中间名,但如果你调用这个函数时只提供了名和姓,它将不能正确地运行。为了让中间名变为可选的,可给实参middle_name()指定一个默认值—空字符串,并在用户没有提供中间名时不使用这个实参。为让get_formatted_name()在没有提供中间名时依然可行,可给实参middle_name指定一个默认值—空字符串,并将其移到形参列表的末尾。 在这个示例中,姓名是根据三个可能提供的部分创建的。由于人都有名和姓,因此在函数定义中首先列出了这两个形参。中间名是可选的,因此在函数定义中最后列出该形参,并将其默认值设置为空字符串。 在函数体中,我们检查用户是否提供了中间名。Python将非空字符串解读为True,所以如果函数调用提供了中间名,if middle_name将为True。若提供了中间名,就将名、中间名和姓合并为姓名,返回到函数调用行。我们将返回的值存储在变量musician中,然后将这个变量的值打印出来。若没有提供中间名,middle_name则为空字符串,if测试未通过,进而执行else代码块:只有名和姓生成姓名,将设置好格式的姓名返回给函数调用行,再将返回的值存储在变量musician中,最后将这个变量的值打印出来。 当调用这个函数时,若只想指定名和姓,调用就非常简单;若还要指定中间名,就必须确保它是最后一个实参,这样Python才能正确地将位置实参关联到形参。 这个修改后的版本适用于只有名和姓的人,也适用于还有中间名的人: | _ |
如果大家有什么好的意见或建议,记得留言哦!