# 内置函数
# abs(-3) # 取绝对值
print(abs(-3)) # 结果是3
# all() #判断参数是否全部为真,或者当参数为空时,返回True
print(all([1, 2, '1', 'abc', ''])) # 结果为False
print(all([])) # 结果是True
# any() #判断参数是否有真,或者当参数为空时,返回True
print(any([1, 2, '1', 'abc', ''])) # 结果为True
print(any([])) # 结果是True
# bin() #把十进制转换成二进制
print(bin(17)) # 把10进制转换成二进制
print(hex(17)) # 把10进制转换成16进制
print(oct(17)) # 把10进制转换成8进制
# bool() #查看布尔值
print(bool(0))
print(bool(''))
print(bool(None))
# 程序保存,在内存中是unicode编码,在硬盘上由自己选择编码格式
name = '你好'
# bytes() #转换成字节
nm = bytes(name, encoding='utf-8') # 吧“你好”以字节方式编码,并保存给变量
# an = bytes(name,encoding='ascii') # ascii不能编码中文
print(nm) # 结果为b'\xe4\xbd\xa0\xe5\xa5\xbd' 一个中文在utf8中占3个字节
print(nm.decode('utf-8')) # 吧字节编码使用utf-8方式解码(python3默认使用utf-8编码,若要使用gbk,则更改传参即可)
# chr(97) #吧ascii码转换成对应的字符
print(chr(97)) # 结果为a
print(chr(126))
# ord()#吧字符转换成对应的ascii码
print(ord('a')) # 结果为97
# dir(dict) #查看对象有哪些方法
print(dir(dict))
# divmod(被除数,除数) #得到商和余数 一般用于检索结果分页
print(divmod(10, 3)) # 结果为(3, 1)
# eval(字符串) #把以字符串格式保存的字典转换成字典;吧以字符串保存的算术表达式计算出结果
s_d = "{'name':'lwj','age':18}"
d = eval(s_d) # 吧字符串格式的字典转换成字典
s = '1+2*(3-2)-5'
r = eval(s) # 吧以字符串格式的表达式转换成表达式冰洁算出结果
print(r)
# hash() #可hash的为不可变类型;不能根据hash结果反推出hash前的内容;无论内容多长,hash结果长度固定;相同内容的hash值一样
name = '你好'
print(hash(name))
print(hash(name))
print(hash(name))
name = '好的'
print(hash(name))
# isinstance(对象,类型) #判断对象是否为某类型
print(isinstance('abc', str))
a = 'abc'
print(globals()) # 打印全局变量
print(locals()) # 打印局部变量,因为在一级代码中,所以和全局变量的结果一样
# max(对象) #求最大值;若为数值,则取最大值;若为字符串,则按位比较例如age1234<age2
a = [1, 4, 7, 2]
b = {1, 6, 3, 9, 2}
print(max(a)) # 结果为7
print(min(a)) # 结果为1
print(max(b)) # 结果为7
# zip(参数1,参数2) #参数必须为序列值(字符串、元组、列表)#拉链拼接,如果传的两个元组个数不一致,只保留一致的元素对
p = {
'name': 'lwj',
'age': 19,
'sex': 'none'
}
print(list(zip((p.keys()), (p.values())))) # 结果为[('name', 'lwj'), ('age', 19), ('sex', 'none')]
l = [
{'name': 'zs', 'age': 51},
{'name': 'ls', 'age': 20},
{'name': 'ww', 'age': 11}
]
# print(max(l)) # 拿第一个元素,并得到最大的结果('age3', 11)
# 想实现取最大的数值
print(max(l, key=lambda d: d['age']))