*********************************************函数***************************************
一.函数的概念
概念:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内 建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候 调用。
作用:
在开发时,使用函数可以提高编写的效率以及代码的重用,需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易。
二.创建函数
定义函数:如果不主动调用函数,函数是不会执行的
其中name是定义函数时的变量,叫做形参,形参可以任意起名,“Tom“是真实的数据信息,调用函数时传的参数为实参
三.函数变量的作用域
局部变量:在函数内部定义的普通变量,只在函数内部作用,函数执行结束,变量会自动删除
全局变量:全局变量是在函数外部定义的变量,(没有定义在某一个函数内),所有函数内部都可以使
用这个变量
局部变量的作用:
在函数内部使用,临时保存函数内部需要使用的数据
局部变量可以通过使用global转为全局变量
##########不同的函数可以定义相同名字的局部变量,但是不会产生影响
##########在开发的时候,应该把模块中的所有全局变量定义在其他函数上方
四.函数的返回值
返回值:函数运算的结束,还需要进一步操作时,给一个返回值return用来返回函数执行结果的,如果没有返回值,默认为None。python可以间接返回多个值(返回了一个元组)一旦遇到return,函数执行结束,后面的代码不会执行
五.函数形参之四大参数
参数;形参 实参
形参:位置参数 默认参数 可变参数 关键字参数
1.位置参数:形参和实参个数必须保持一致
2.默认参数:形参和实参的个数可以不一致 默认形参可以改变
默认参数在制定时,必须是不可变数据类型
3.可变参数
4.关键字参数:*kwards是一个字典,可以传递任意多的key-value值
六.函数装饰器:
1.装饰器:在不改变原函数的基础上,给函数增加功能,把一个函数当作参数,返回一个替代版的函数
本质上:返回函数的函数
2.语法糖:
装饰符@类型于回调函数,把其它的函数(暂且成为目的函数)作为自己的入参,在目的函数执行前,执行一些自己的操作,比如:计数、打印一些自己的操作,然后返回目的函数
七.列表生成式和字典生成式
1.列表生成式:根据集合生成列表
生成一个列表,列表元素分别为[1**2,2**2,3**2,4**2...n**2]
8以内偶数的平方 [experssion for i in 序列 if...]
找出1~10之间的所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)
print [math.pi * r * r for r in range(2, 11, 2)]
找出1~10之间的所有奇数,并且返回一个列表(所有的奇数转换为字符串)
print [str(r) for r in range(1, 11, 2)]
找出1~100之间的所有质数
2.字典生成式
假设有20个学生,学分在60~100之间,筛选出成绩在90分以上的学生
将字典中的key值和value值调换
大小写合并,key值最终全部为小写