In [24]: def fun1(a): ...: b = 2 ...: def fun2(): ...: return a*b ...: return fun2() ...: In [25]: fun1(4) Out[25]: 8
常用内置函数
内置函数前两篇文章就有涉及过,比如常用的len、sorted、reversed、sum等等,除此之外再介绍几个比较基础的内置函数。
1.max和min
求一个序列中最大值和最小值:
In [28]: min(1,2,3) Out[28]: 1 In [29]: max(1,2,3) Out[29]: 3
2.abs
求一个数的绝对值:
In [31]: abs(-1) Out[31]: 1
3.round
四舍五入保留小数点后几位:
In [32]: round(3.555,2) Out[32]: 3.56
4.pow
计算一个数的幂次方,或者再取余:
In [33]: pow(2,3)#2*2*2 Out[33]: 8 In [34]: pow(2,3,3)#(2*2*2)%3 Out[34]: 2
5.divmod
计算一个数的商和余数:
In [36]: divmod(10,3) Out[36]: (3, 1)
6.help
用来查询一个函数的帮助文档:
In [37]: help(abs) Help on built-in function abs in module builtins: abs(x, /) Return the absolute value of the argument.
7.filter
filter()函数接收两个参数,第一个参数可以是一个函数或者None,第二个参数是序列。作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉序列中为False的元素,留下为True的元素,可以结合lambda表达式使用:
In [38]: list(filter(lambda x:x%2,range(10))) Out[38]: [1, 3, 5, 7, 9]
8.map
map()函数接收两个参数,一个是函数,一个是序列。作用是将函数应用于序列中每一个元素上,同样可以结合lambda表达式使用:
In [42]: list(map(lambda x: x*2,range(10))) Out[42]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
文件
关于文件读写操作,open()函数是一定遇到的,如果文件已经存在则会打开文件,若不存在则会创建一个文件,通常的用法需要两个参数:open(filename,mode)。
第一个参数就是文件名字,第二个参数就指定文件将会被如何使用,可选模式常用的有以下几种:
-
'r':以只读的方式打开文件(默认)
-
'w':以写入模式打开文件,会覆盖已存在的文件
-
'a':以写入模式打开文件,如果文件存在,则在末尾追加写入
-
'b':以二进制模式打开文件,进而会有rb、wb等模式组合
1.read()方法读取
read()方法可传入一个参数size,也就是读取内容的长度。size是一个可选参数,如果不传入或者传入一个负数,那么会读取文件全部内容:
In [52]: fb = open('E:/Python基础/test.txt','r') In [53]: fb.read(10) Out[53]: 'nai\nniatan' In [54]: fb.read() Out[54]: 'g\nnaitangmao' In [55]: fb.read() Out[55]: ''
-
1、原文件中换行的地方在读取时以换行符'\n'表示,并且也占有一个单位长度
-
2、已经被读取的内容不能被重复读取
-
3、如果读取内容返回为空字符串,表示已经到了文件末尾
2.readline()方法
readline()方法是从文件中读取单独一行,并且在这一行数据的末尾处会有一个换行符'\n',如果其中一行没有数据,则会只返回一个'\n',同样当返回空字符串时表示到达文件末尾。
In [59]: fb1 = open('E:/Python基础/test.txt','r') In [60]: fb1.readline() Out[60]: 'nai\n'
3.readlines()方法
readlines()方法也是用来读取全部文件,与read()不同之处在于前者是按行读取,并且最后返回的是一个列表,每一行数据作为一个列表元素: