文章目录
概要
本文讲解了Python函数的定义和函数的参数返回值以及变量的作用域和一些常用的Python内置函数。
一、函数的定义
函数定义有两种方式,一种是用def显式定义,一种是用lambda表达式隐式定义,前者函数有名字,后者返回一个匿名函数。
def square(x):
return x * x
square = lambda x: x * x
二、参数
2.1 位置参数
位置参数指的是在传递参数的过程中按照形参的位置关系依次传入参数。如下代码x是2,n是3。
pow = lambda x, n: x ** n
pow(2, 3)
2.2 关键字参数
关键字参数是在传递参数时指定形参的名字来打到跳跃或不按顺序传递参数。如下代码x是2,n是3。
pow(n=3, x=2)
2.3 默认值参数
在定义函数时可给形参默认值,调用函数时若传递该参数则覆盖默认值,否则使用默认值。一般默认值放在参数列表的最后面来配合位置参数传值。
2.4 可变参数
当参数前有’ * '时,表明该参数是一个可变参数,一般传递序列进去,当参数前有‘ ** ’时表面该参数要一个字典。
三、内置函数
3.1 sorted(iterable[, key[, reverse=False]])
sorted()可对序列和字典进行排序,他是内置函数,与列表的sort()函数不同,sort直接在列表上进行更改,sorted依托返回值按照key的比较方式将iterable进行排序并返回新的可迭代对象。传递reverse为True则返回的对象倒序。
3.2 map(function, *iterable)
map()函数会对iterable按照function的方式映射成新的iterable并返回。由于iterable时可变参数,传入多少个序列主要取决于funcion需要多少个参数。此外这里的function常常与lambda匿名函数配合使用。
3.3 zip(*literable)
zip()函数返回由多个iterable元素一一对应形成的元组的列表,当传入的序列的元素个数不同时,以个数最少的为准。zip常常与创建字典配合使用。如下创建的就是一个以a为键b为值的字典
dic = dict(zip(a, b))
3.4 eval()和exec()
eval()函数是计算表达式,返回表达式的值。exec()函数可运行Python程序,返回运行结果
3.5 all()和any()
all()函数和any()函数接受一个可迭代对象,若可迭代对象的值全为1则all返回True,若至少有一个1则any返回True。