PythonPython 进阶文集

【Python】学习笔记之函数|第6篇

2018-04-14  本文已影响45人  繁华落尽丶lee

书籍:《Python编程:从入门到实践》
打卡人:Owenli
打卡日期:2018.4.14

Python从入门到实践目录

前言

本篇学习编写函数。函数是带名字的代码块,用于完成具体的工作。

函数让程序的编写、阅读、测试和修复变的容易,极大提高了代码的复用性。

本篇中,你还会学习向函数传递信息的方式。你将学习如何编写主要任务是显示信息的函数,还有用于处理数据并返回一个或一组值的函数。最后,你将学习如何 将函数存储在被称为模块 的独立文件中,让主程序文件的组织更为有序。

一、定义函数

简单的函数,定义greet_user():

这是一个最简单基本的函数。defPython定义函数的关键字,greet_user函数名,冒号后面的所有缩进行构成函数体。"""xxx"""是文档字符串的注释。要使用函数只需指定函数名和括号中的必要信息即可。

我们可以给上面的函数添加一个参数username

通过修改上面greet_user添加一个参数,在调用函数时,将参数放在括号中传入。
函数的参数username是形参。在调用函数是传递的内容是实参。

二、传递实参

函数定义可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多,例如:位置实参,实参和形参的顺序相同。关键字实参,其中实参都由变量名和值组成。还有字典和列表等。

2.1 位置实参

位置实参:每个实参根据顺序关联一个形参。

举个例子:


describe_pet('hanster', 'harry')两个实参分别对应def describe_pet(animal_type, animal_name):中的形参。
describe_pet()可以多次使用。
注意实参的顺序不能改变。

2.2 关键字实参

关键字实参 是传递给函数的名称-值对。直接将实参和形参关联起来。

上边例子看出,顺序对关键字实参没影响。

2.3 默认值

编写函数时,可以给形参指定默认值。当调用函数提供实参时,使用指定的实参。否则,使用默认值。

你可能会遇到黄色框中问题。为animal_type指定了默认值。调用函数传递的实参被视为位置实参,默认的会指定给第一个形参,所以会报错。

三、返回值

函数并非总是直接输出值,它可以处理一些数据,并返回一个或一组值。return语句将值返回到调用函数的代码行。

例子:


函数中将full_name返回给调用者。调用函数时需要提供一个变量,来存储返回的值。

函数可以返回任何类型的值,包括字典和列表等较复杂的数据结构。

四、传递列表

有时向函数传递列表很有用,通过将列表传递给函数,函数可以直接访问内容。

usernames作为参数传递给函数。

可以在函数中修改列表的值

在函数print_models修改completed_models列表的值。列表的内容被永久性修改。
如何禁止函数修改列表,其实很简单,只需要传递列表的副本给函数即可。 还记得list_name[:]生成副本。

传递任意数量的实参

有时不知道需要接受多少个实参,Python允许从调用语句中收集任意数量的实参。

Python使用*toppings创建一个空元组,并将接收到的所有值都封装到这个元组中。

小结

本篇学习了函数的基本用法,如何定义一个函数、实参和形参、返回值、参数列表等。

打卡第六次

上一篇下一篇

猜你喜欢

热点阅读