abs:绝对值
print(abs(-1))#打印函数处理的结果,结果为1
all:布尔运算,判断有没有0,None,但是为空返回True
print(all('hello'))#如果有全部为true为true
any:和all是相反的,如果有一个为真就是true
bin:十进制转换成二进制
print(bin(3))
bool:判断布尔值,空,None,0的布尔值为false,其他都为true
bytes:把一个字符串转换成为字节的形式(编码)
print(bytes('你好',encoding='utf-8'))
输出六个字节:b’\xe4\xbd\xa0\xe5\xa5\xbd’
print(bytes('你好',encoding='utf-8').decode('utf-8')
#解码,最好用什么编码用什么解码,python3默认utf8
chr:按照ascii表输出对应的内容
print(chr(97))输出为a
dict:字典
divmod:取商,得余数,做分页抽屉什么的时候可以用,比如说一页只能有三条记录,10/3余1,第四页的一个记录占整个一页
print(divmod(10,3))#得到(3,1)
enumerate:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
q = ['111','222','333','444']
print(list(enumerate(q)))
输出:[(0, ‘111’), (1, ‘222’), (2, ‘333’), (3, ‘444’)]
eval:字典类型转换成为字符串形式后,将字符串中的数据结构提取出来,第二个功能可以把字符串中的表达式运算
dic = {'name':'yibole'}
str1 = str(dic)
print(type(str1),str1)
ev = eval(str1)
print(ev['name'])
q = '1+2*(3/3-1)-2'
print(eval(q))
hash():用来做哈希运算,可哈希的数据类型就是不可变的数据类型,不可哈希的数据类型就是可变的数据类型,不管传入的参数有多长,输出的结果长度是固定的,而且不可以根据输出的结果反推出来字符串是什么,如果变量不变,hash值不变(但是哈希是随机的)第三个特性比如说你下载一个东西又害怕被人截取然后修改,你就可以把想下载的东西哈西一下,然后把下载的东西哈希一下,看看两个哈希的值一样不一样
help():查看目录,dir()函数 是光打名字,help()是把名字和帮助信息都打印出来
hex():十进制改二进制:bin()、十进制改十六进制、oct()十进制转八进制
id()打印一个对象的内存地址
input()输入
int()转换成整数型
isinstance():什么东西是什么东西的实例,
print(isinstance(1,int))#返回true
print(isinstance('abc',str))返回true
print(isinstance('a',list))返回false
print(isinstance('abc',dict))返回false
lter():迭代器,后面会学,画重点
locals():和globals对应,globals是全局变量,locals是局部变量
zip():zip()类似于拉链,一一对应的关系,如果多出来一个不是一一对应,则不输出多出来的那一个
print(list(zip(('a','b','c'),(1,2,3))))
print(list(zip(['qqq','www','eeee'],(1,2,3,4))))
p = {'name':'yibole','age':18,'gender':'none'}
print(list(zip(p.keys(),p.values())))
max和min方法:
q= {'yibole':1,'qqq':2,'eee':3}
print(max(q))#输出yibole,因为要按照ascii码一一去比较
print(list(max(zip(q.values(),q.keys()))))
输出[3, ‘eee’]
默认第一个值去比较,如果第一个值见分晓,后面就不继续做比较了
比如说[‘a10’,‘b12’,‘c10’],用max作比较最终输出的结果是c10,而字符串和数字是不可以比较的,max如果比较字典形式的值默认比较的是keys,但是如果想比较values又想让keys显示出来就得结合用zip这个函数,max(zip())就可以了
但是复杂的字典该怎么办呢,max其实可以传入keys,所以写一个简单的函数就可以直接让字典元素去比较:
people = [
{'name':'yibole','age':10000}
{'name':'qqq','age':100}
{'name':'www','age':1000}
]
print(max(people,key = lambda dic:dic['age']))
总结:max、min进行比较传入的数据类型一定得是可迭代类型,因为max、min基本原理就是一个for循环,依次取出来可迭代对象的每一个元素,以此进行比较,二、比较时从第一个元素位置开始比较,如果第一个元素的比较已经分出大小了,后面就不会再进行比较