09_Python编程从入门到实践_函数

一,定义函数

函数是带名字的代码块,用于完成具体的工作
要执行函数定义的特定任务,可调用该函数。需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用执行该任务的函数,让Python运行其中的代码。你将发现,通过使用函数,程序的编写、阅读、测试和修复都将更容易。
在本章中,你还会学习向函数传递信息的方式。你将学习如何编写主要任务是显示信息的函数,还有用于处理数据并返回一个或一组值的函数。最后,你将学习如何将函数存储在被称为模块 的独立文件中,让主程序文件的组织更为有序。

1)定义函数:

在这里插入图片描述

2)向函数传递信息:

在这里插入图片描述

3)实参和形参:

在函数greet_user() 的定义中,变量username 是一个形参 ——函数完成其工作所需的一项信息。在代码greet_user(‘jesse’) 中,值’jesse’ 是一个实参 。实参是
调用函数时传递给函数的信息。我们调用函数时,将要让函数使用的信息放在括号内。在greet_user(‘jesse’) 中,将实参’jesse’ 传递给了函数greet_user() ,这个
值被存储在形参username 中。
注意: 大家有时候会形参、实参不分,因此如果你看到有人将函数定义中的变量称为实参或将函数调用中的变量称为形参,不要大惊小怪

4)传递实参:

鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多,可使用位置实参 ,这要求实参的顺序与形参的顺序相同;也可使用关键字实参 ,其中每个实参都由变量名和值组成;还可使用列表和字典。下面来依次介绍这些方式

1,位置实参

你调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参 。
为明白其中的工作原理,来看一个显示宠物信息的函数。这个函数指出一个宠物属于哪种动物以及它叫什么名字,如下所示
在这里插入图片描述

2,关键字实参

关键字实参 是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函数传递实参时不会混淆(不会得到名为Hamster的harry这样的结果)。关键字实参让你无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。
在这里插入图片描述

3,默认值

编写函数时,可给每个形参指定默认值 。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。
在这里插入图片描述

4,等效的函数调用

鉴于可混合使用位置实参、关键字实参和默认值,通常有多种等效的函数调用方式。请看下面的函数describe_pets() 的定义,其中给一个形参提供了默认值:
在这里插入图片描述

5,避免实参错误

其实就是传入的实参数和需要的形参数对不上

二,返回值

函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值 。在函数中,可使用return 语句将值返回到调用函数的代码行。返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序

1)简单的示例:

在这里插入图片描述

2)让实参变成可选的:

有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。
例如,假设我们要扩展函数get_formatted_name() ,使其还处理中间名。为此,可将其修改成类似于下面这样:所以需要让部分实参变成可选的,其实就是把对应的形参放到最后,并指定一个默认值—空字符串
在这里插入图片描述
可选示例:
在这里插入图片描述

3)返回字典:

函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。例如,下面的函数接受姓名的组成部分,并返回一个表示人的字典:
在这里插入图片描述

4)结合使用函数和while循环:

下面将结合使用函数get_formatted_name() 和while 循环,以更正规的方式问候用户。下面尝试使用名和姓跟用户打招呼:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/paidaxing_dashu/article/details/88422204