内置函数
abs绝对值 print(abs(-1))===》1
all 所有的布尔值都是True为True,If the iterable is empty, return True.
print(all([1,2,-1,""]))===》False,print(all([0,""]))===》False
any 任一布尔值为True则为True
bytearray
bytes 字符串转换成字节
# 定义一个变量,字符串保存到内存上unicode,硬盘上自己选择编码,编码最终结果是二进制 #中文utf-8对应3个字节 #编码 name="你好" print(bytes(name,encoding="utf-8"))####b'\xe4\xbd\xa0\xe5\xa5\xbd' #解码,用什么编码就用什么解码,默认解码是utf-8 # ascii不能编中文 print(bytes(name,encoding="utf-8").decode("utf-8"))####你好
chr print(chr(97))####a
all 打印对象下有哪些方法,打印名字,print(dir(all))####
divmod
#商和余数,eg:分页,一页有3条记录,还剩1条在单独一页
print(divmod(10,3))####(3, 1)
eval
#eval()将字符串中数据结果提取出来
express="1+2*(3/3-1)-2"
print(eval(express))###-1.0
hash 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变类型
hash是一种算法,得出哈希值,1.不管字符串长度多少,得出的哈希值长度是固定的;2.不能根据得到的哈希值反推;3.变量不变,hash值不变
判断软件被篡改过程。网上下载一款软件,连同软件哈希值提供给对方,下载到本地用hash算法对软件进行hash校验,若hash值是一样,则意味着未被修改,安全
print(hash("32444333333333333344444"))####-2091919439
help print(help(all))#打印具体方法
bin、hex、oct
print(bin(10))#10进制->2进制###0b1010
print(hex(10))#10进制->16进制###0xa
print(oct(10))#10进制->8进制###0o12
isinstance print(isinstance(1,int))##True,判断是不是这个类型
globals,打印全局变量
name="近段时间发货单" print(globals())####打印全局变量 #{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0074D250>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/pujialou/PycharmProjects/python_day10_1/day1-/16.py', '__cached__': None, 'name': '近段时间发货单'} name="近段时间发货单" def test(): name="颜值高" # print(globals()) print(locals()) test() #结果 #{'name': '颜值高'}
zip 拉链方法,传值为序列(列表、元组、字符串)
#位置从前往后,若没有对应值则不输出
print(list(zip(("a","b","c"),(1,2,3))))####[('a', 1), ('b', 2), ('c', 3)]
p={"name":"alex","age":18,"gender":"none"} print(list(zip(p.keys(),p.values()))) ####[('name', 'alex'), ('age', 18), ('gender', 'none')]
print(list(zip(["a","b"],"124546")))####[('a', '1'), ('b', '2')]
max和min
1.只要可以迭代就可以使用;2.每个元素从左往右进行比较;print(max("a11","b3","c2")),输出结果是c2;3.不同类型不可进行比较,eg:max("a11","b3",10)会报错
li={"age1":10,"age2":50,"age3":60,"age4":20} print(max(li.values()))####60 print(max(li))####age4
#取值最大年龄及年龄值 li={"age1":10,"age2":50,"age3":60,"age4":20} print(max(zip(li.values(),li.keys()))) #(60, 'age3')
li=[(5,"a"),(1,"b"),(3,"u"),(4,"d")] print(list(max(li)))####[5, 'a']
整理:
#1、简单使用 l=[1,2,-100,33] print(max(l))####33
#字典 dic={"age1":18,"age2":10} #比较keys print(max(dic))####age2 #,比较values,但是不知道是哪个keys print(max(dic.values()))####18 #有keys,values print(max(zip(dic.values(),dic.keys())))####(18, 'age1')
#max可以传处理方法,people进行for循环,取出每一个元素给lambda取处理,lambda给出返回值让max去比较
#max(people)表示比较每一个字典,会报错;目前要比较的是age对应的值,故把每个字典取出来,取age对应的values
#max(people,key=lambda p:people["age"])
print(max(people,key=lambda dic:dic["age"]))
#相当于
# ret=[]
# for item in people:
# ret.append(item["age"])
#结果
# {'name': 'alex', 'age': 100}
05 python s3 day17 其他内置函数.ev4未看