1、概念简介
Python有很多内置模块或函数,可以实现很多复杂功能;
2、模块/函数
函数 | 返回类型 | 说明 |
---|---|---|
divmod(var1, var2) | tuple对象 | 返回包含商和余数的元组 |
input([prompt]) | string对象 | prompt为提示信息 |
open(name[, mode[, buffering]]) | file对象 | 打开一个文件 |
int(x, base=10) | int对象 | x为数字或字符串,base为进制数;同时当 x为纯数字时,base参数不能出现; |
sum() | 返回 int类型 | 输入参数可以是一个可迭代的序列; |
1)sorted()
语法实现:
sorted(iterable, cmp=None, key=None, reverse=False)
说明:
1)sorted() 函数对所有可迭代的对象进行排序操作;
2)内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作;
3)key – 主要是用来进行比较的元素,具体的函数的参数取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
4)reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认);
2)enumerate(sequence, [start=0])
seq_a=["one","two","three","four","five"]
for i,ele in enumerate(seq_a,start=1):
print(i,ele)
说明:此处默认索引从0开始,可以加参数 start 来指定索引的开始值;
3)type(obj)
4)isinstance(obj,type)
强调:
A:type()不会认为子类是一种父类类型。
B:isinstance()会认为子类是一种父类类型。
>>>
>>> isinstance(False,int)
True
说明:此处可以得出在 Python3种,bool类型是int的子类;
>>>
>>> type(False)
<class 'bool'>
>>>
>>> isinstance(False,bool)
True
>>>
>>> isinstance(False,int)
True
>>>
>>>
说明:此处使用 type()得出 False属于 bool类型,不属于 int类型;isinstance()可以确定 bool既属于 bool类型,同时属于 int 类型;
issubclass(type_s,type_f)
set.issubset(set)
set.issuperset(set)
5)any(iterable)
描述:any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则如果是则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。
6)all(iterable)
描述:all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。
>>>
>>> list_a = ["aa","bb",33,None,77]
>>> any(list_a)
True
>>> all(list_a)
False
>>>
7)map(function, iterable, ...)
map()函数接收两个或多个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
list_a = [4, 5, 6, 7, 8]
fun_q = lambda x: x * x
r = map(fun_q, list_a)
print(list(r))
# [16, 25, 36, 49, 64]
说明:由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。
8)reduce(fun(x, y), seq)
该函数使用前需要从模块 functools 导入;reduce 函数接受 2个参数,fun 和 seq,其中 fun 函数必须有2个输入参数;
from functools import reduce
list_a = [4, 5, 6, 7, 8]
fun_s = lambda x, y: x + y
print(reduce(fun_s, list_a))
# 30
9)filter(function or None, iterable)
function:作用是对iterable中的每个元素判断是否符合特定条件。
None:不调用任何函数,只对可迭代对象中的元素本身判断真假,保留为真的元素。
iterables:可迭代对象(序列、字典等)。
10)zip(var1,var2,var3,...)
描述:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,可以使用 list() 转换来输出列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
>>>
>>> list_a = ["aa","bb","cc"]
>>> list_b = [11,22,33]
>>> list_c = ["f1","f2","f3","f4"]
>>> list_rt = list(zip(list_a,list_b,list_c))
>>> list_rt
[('aa', 11, 'f1'), ('bb', 22, 'f2'), ('cc', 33, 'f3')]
>>>
>>> dict_rt = dict(zip(list_a,list_c))
dict_rt
{'aa': 'f1', 'bb': 'f2', 'cc': 'f3'}
>>>
说明:zip函数可以有多个可迭代对象参数;
=============================================== over ===============================================