python的内置函数:

abs
1 2
| print(abs(-1)) print(abs(0))
|
all
all内部只有一个元素,内部是一个可迭代的对象
元组 列表形式的
1 2 3 4
| print(all([])) print(all((1,''))) print(all((1,[]))) print(all((1,2,' ',None)))
|
生成器方式:
1 2
| (for i in range(100)) print(all(i for i in range(1,3)))
|
any
any是有任何一个的bool值是True,返回值是True,空返回的是false
1 2
| print(any([])) print(any([None,0,'',{},1]))
|
bin
bool
空的情况:0、空字符串、空字典、空列表、None、
1 2 3 4
| print(bool(0)) print(bool('')) print(bool(None)) print(bool([]))
|
返回值都是false
bytes
1
| print(bytes('hello',encoding='utf-8'))
|
b’hello’
callable
查看能否被调用
1 2 3 4
| def test(): pass print(callable(test))
|
能被调用,返回True
chr
ord
complex
1 2 3
| x = complex(1-2j) print(x.real) print(x.imag)
|
1 2 3 4
| 不可变字典 不能增删改查 x = frozenset({1,2,3,4}) print(x)
|
dir
查看sum可以调用的方法,返回值是列表的形式
1 2 3
| print(dir(sum)) print(divmod(10,3))
|
enumerate
hash
s1修改后,hash的值会改变,hash有不同的方法,MD5,SHA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| s1 = "123" print(hash(s1)) s1 = "456" print(hash(s1)) `` ```python print(id("123")) x = 'a' y= 'a' print(id(x)) print(id(y)) print(x is y)
|
结果是一样的
hex
十进制转换成16进制
max
max内部是可迭代的对象iternable
1 2 3 4 5 6 7 8 9 10 11 12 13
| slaries ={ "a":10000000, "b":2000000, "c":300000, "d":40000 } def get_value(k): return slaries[k] print(get_value("a")) print(max(slaries,key=get_value)) print(max(slaries))
|
匿名函数lambda
1 2
| f = lambda k :slaries[k] print(f("a"))
|
取出value最大的key
1 2 3 4 5 6 7
| slaries ={ "a":10000000, "b":2000000, "c":300000, "d":40000 } print((max(slaries,key=lambda k:slaries[k])))
|
min
取出最小的value
print((min(slaries,key=lambda k:slaries[k])))
zip
形象的解释成拉链,是一个迭代器
1 2 3 4 5
| l1 = [1,2,3] s = 'hello' for i in zip(l1,s): print(i)
|
结果:
(1, ‘h’)
(2, ‘e’)
(3, ‘l’)
返回的是数组
取出所有的key并对用所有的value
1 2
| z = zip(slaries.keys(),slaries.values()) print(max(z))
|
sorted 升序
1 2 3
| l = [1.2,5,6,8,2,5,] print(sorted(l,)) print(sorted(l,reverse=True))
|
1 2 3 4 5 6 7 8 9 10 11
| slaries ={ "a":10000000, "b":2000000, "c":300000, "d":40000 } # print(sorted(slaries)) #默认是按照字典的key排序 print(sorted(slaries,key=lambda k:slaries[k])) # 工资按照升序排列 print(sorted(slaries,reverse=True,key=lambda k:slaries[k])) # 工资按照降序排列 print(sorted(slaries,key=lambda k:slaries[k],reverse=True)) # 工资按照降序排列
|
map 映射
map(func, *iterables) –> map object
map第一个是函数,第二个是可迭代对象
1 2 3 4 5
| l = [1,2,3,46,7] m=map(lambda item:item**2,l) # 函数 可迭代对象 # for i in m: # print(i) print(list(m)) # 因为m是迭代器,所以转换成列表
|
reduce合并
from functools import reduce Python3中需要导入
1 2 3 4 5 6
| from functools import reduce l=list(range(100)) m = reduce(lambda x,y:x+y,l) print(m)
|
结果:
4950
1
| m=reduce(lambda x,y:x+y,l,100)
|
思路理解:
先是初始值给x,从列表中获取第一个值0–y,x+y=100,
100给x 二 1–y,x+y = 101,
默认的时候第一个值是0
filter过滤
1 2 3 4 5 6 7 8
| name_l=[ {'name':'aaa','age':18}, {'name':'bbb','age':20}, {'name':'ccc','age':5000}, {'name':'dddd','age':100000}, ] f = filter(lambda d:d['age'] > 100,name_l) print(list(f))
|
结果:
[{‘name’: ‘ccc’, ‘age’: 5000}, {‘name’: ‘dddd’, ‘age’: 100000}]
oct
把十进制转换成8进制
slice切片
vars
打印局部空间变量
{‘name‘: ‘main‘, ‘doc‘: None, ‘package‘: None, ‘loader‘: <_frozen_importlib_external.sourcefileloader object="" at="" 0x00000000021d95c0="">, ‘spec‘: None, ‘annotations‘: {}, ‘builtins‘: , ‘file‘: ‘D:/Python_fullstack_s4/day25/test.py’, ‘cached‘: None, ‘slaries’: {‘a’: 10000000, ‘b’: 2000000, ‘c’: 300000, ‘d’: 40000}}
通过字符串导入
这种可以用于将读取的字符串作为模块导入