Python入门学习笔记05(内置函数)
all()逻辑与、any()逻辑或
all()全部为真即为真,any()任一为真即为真。
Python中数字0与字符串""表示假
list1 = [1,2,3,4] list2 = [0,1,2,3] list3 = ["","a","ab"] list4 = [" ","a","ab"] print(all(list1)) print(all(list2)) print(all(list3)) print(all(list4))
输出
True False False True
round()
对数据进行四舍五入格式化
zip()拼接多个可迭代对象
zip()用于拼接多个可迭代对象,生成一个拼接后的元组列表,列表的个数由拼接对象个数最短的那个决定。
list11 = [1,2,3,4,5] list22 = ["ab","cd","ef"] list33 = [1.2,2.2] list44 = list(zip(list11,list22,list33)) print(list44)
输出
[(1, 'ab', 1.2), (2, 'cd', 2.2)]
filter()过滤数据
filter()用于数据过滤,传入的func函数是过滤规则,该函数本质上是一个输入x返回True/False的函数,
filter会将列表中的每一个元素传入func中进行判断,为True的会被过滤出来。
filter()函数在Python2中返回的是一个列表,Python3中返回的是一个filter对象,它本质上是一个迭代器,可以使用next取值。
将filter转换为列表的操作实际上是不断调用next,将结果存在一个列表之中返回,所以执行之后再调用next会出现越界错误。
过滤出偶数:
list111 = [23,54,7676,213,76,324] def FuncFilter(x): return x%2 == 0 filter1 = filter(FuncFilter,list111) print(list(filter1)) #print(filter1.__next__())
输出
[54, 7676, 76, 324]
map()数据映射
map()用于数据映射,f传入的func函数是一个以x为输入的映射规则,返回对象的类型与filter一样
阶乘映射:
list222 = [i for i in range(10)] def FuncMap(x): return x*x map1 = map(FuncMap,list222) print(list(map1))
输出:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce()数据累加
reduce()函数的作用是将计算结构进行累加,计算规则为func函数,函数必须有两个参数,
reduce先将列表前两个元素进行运算,再将运算结果与第三个元素进行运算,以此类推。
累加1至10:
import functools list1111 = [1,2,3,4,5] def FuncReduce(x,y): return x+y print(functools.reduce(FuncReduce,list1111))
输出:15
OS模块
walk
walk用于遍历文件夹,生成一个三元组:文件夹路径,下一层文件夹列表,下一层文件列表。
统计文件夹大小:
import os path = r"D:\Python\Projects\PythonLearn_Day07\ftp_server\server\1" fullsize = 0 for root,dirs,filenames in os.walk(path): for filename in filenames: path = os.path.join(root,filename) size = os.path.getsize(path) fullsize += size print(fullsize)
join
join用于连接两个字符串,path下的join会根据系统选择用“\”或"/"将两个路径拼接为一个。
path1 = r"1\2\3" path2 = r"4\5\6" print(os.path.join(path1,path2))
输出:
1\2\3\4\5\6
如果第二个参数是相对路径,那么返回结果是将两个路径直接拼接起来
path1 = r"C:\1\2\3" path2 = r"C:\1\2" print(os.path.join(path1,path2))
输出
C:\1\2
如果第二个路径是绝对路径,直接输出第二个路径