内置函数(68个)
内置函数
python提供了68个内置函数
非常重要
-
min,max
- 凡是可以加key的,它会自动的将可迭代对象的每个元素按照顺序传入对应的函数中
li=[5,9,6,3,7] print(min(li)) print(max(li)) 得: 3 9 # 求绝对值的最小值 li=[11,-99,66,4,3,7] def func(a): return abs(a) print(min(li,key=func)) # 求值最小的键 dic={'a':4,'b':2,'c':3} def func(a): return dic[a] print(min(dic,key=func)) #取列表里面元组值最小的 li=[('a',5),('b',2),('c',4)] print(min(li,key=lambda x : x[-1])[1]) 得:2
-
sorted排序,返回一个新的列表,按升序包含可迭代对象中的所有项。
li=[('a',5),('b',2),('c',4)] print(sorted(li,key=lambda x : x[-1],reverse=True)) #默认从低到高排序,加上reverse=True则从高到低
-
filter 过滤,返回的是迭代器
- 格式:filter(函数,可迭代对象)
li=[5,6,6,21,8,1,8,92] print(list(filter(lambda a:a>3,li)))
-
map 返回的是一个迭代器,列表推导式的循环模式
- map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
- 语法格式:map(function, iterable, ...)
a=[4,6,9] ret=map(lambda x:x**2,a) print(list(ret)) 得:[16, 36, 81]
-
reduce
from functools import reduce def func(a,b): ''' 第一次 a=1 b=3 a+b=4 第二次 a=4(第一次计算的结果) b=4 a+b=8 第三次 a=8(第二次计算的结果) b=2 a+b=10 ''' return a+b print(reduce(func,[1,3,4,2]))
-
dir()
- dir()函数不带参数时返回当前范围内的变量、方法和定义的类型列表
- 带参数时,返回参数的属性、方法列表
-
重要
-
print 输出
# def print(self, *args, sep=' ', end='\n', file=None): print(1,2,3,sep='*') (sep默认空格) 得: 1*2*3
-
abs 绝对值
print(abs(-9)) 得: 9
-
sum 求一个可迭代对象的和,可迭代类型必须是数字类型
print(sum([1,5,6])) 得:12 # 设置初始值为10 print(sum([1,5,6],10)) 得:22
-
reversed 将一个序列翻转,返回反转序列的迭代器(反转后的迭代器和原列表没有任何关系)不改变原列表
mag=[i for i in range(10)] print(list(reversed(mag))) print(mag) 得: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
-
zip 拉链方法
dic={1:'a',2:'b',3:'c'} li=[1,2,3] s1='ghjk' z1=list(zip(li,s1,dic.values())) print(z1) 得:[(1, 'g', 'a'), (2, 'h', 'b'), (3, 'j', 'c')]
-
-
以下了解
-
eval 剥去字符串的外衣,运算里面的代码(一般不能用,容易出事,尤其是在网络传输,input输入、sql注入的时候绝对不能使用)
s1='1+3' print(eval(s1)) 得:4
-
exec 与eval 几乎一样,这个用于处理代码流
mag='''for i in range(1,10): print(i)''' exec (mag) 得: 1 2 3 4 5 6 7 8 9
-
hash 获取一个对象(可哈希对象:str,int,bool,tuple)的哈希值
mag='123456wseqwed' print(hash(mag)) 得:859649198614780549
-
help 帮助 ,相当于查看源码
mag='123456wseqwed' print(help(mag.upper)) 得: upper(...) method of builtins.str instance S.upper() -> str Return a copy of S converted to uppercase. None
- callable 判断一个对象是否可以被调用,如果返回True,object仍然可能调用失败:但如果返回Flase,调用对象object绝对不会成功。
mag='123456wseqwed' def func(mag): print('hhhh') ret=func(mag) print(callable(mag)) print(callable(func)) 得: hhhh False True
-
int 整数 将一个字符串或数字转化成整型
-
float 浮点型 将一个字符串或数字转化浮点数
-
bin 将十进制转化成二进制并返回
print(bin(15)) 得:0b1111 (注:0b是标识二进制的)
-
oct 将十进制转化成八进制并返回
print(oct(15)) 得:0o17 (注:0o是标识八进制的)
-
hex 将十进制转化成十六进制并返回
print(hex(15)) 得:0xf(注:0x是标识十六进制的)
-
divmod 计算除数与被除数的结果,返回一个包含商和余数的元组
print(divmod(10,3)) 得(3, 1)
-
round 保留浮点数小数的位数,默认保留整数,也可设置小数点后保留的位数
print(round(10.6464,2)) 得:10.65
-
pow x
**
y次幂(三个参数为x**
y次幂的结果对z取余)print(pow(2,3)) print(pow(2,3,3)) 得: 8 2
-
bytes 用于不同编码之间的转换,两种写法一样
s1='中国' s2=s1.encode('utf-8') print(s2) s1='中国' s2=bytes(s1,encoding='utf-8') print(s2)
-
ord 输入字符找该字符编码的位置,返回一个单字符字符串的Unicode码位
print(ord('a')) 得:97
-
chr 输入位置数字找出其对应的字符,返回一个单字符的Unicode字符串
print(chr(97)) 得:a
-
repr 返回一个对象的string形式
s='baoli' print(repr(s)) s='%r来自山西!'%("baoli") print(s) 得: 'baoli' 'baoli'来自山西!
-
all 可迭代对象中,全部是True才是True
li=[1,2,3,True,''] print(all(li)) 得:False (''不是可迭代对象所以为Flase)
-
any 可迭代对象中,有一个是True就都是True
li=[1,2,3,True,''] print(any(li)) 得:True