Python之其他内置函数---第九天

(1)abs()——求绝对值
(2)all()——所有的可迭代对象的布尔值为True则为True,为空的可迭代对象也为True
(3)any()——和all类似,只是有一个为True,则为True
(4)bool()——验证字符串的布尔类型
(5)bytes()——将字符串编码

  • 用什么方式编码,就用什么方式解码
  • 不写,默认decode为utf-8的解码方式
  • ascii码不能编写中文
    (6)chr()——在range(256)内,返回一个对应的字符
print(chr(97))

#输出结果:
a

(7)ord()——相反的,输入字符,返回对应数字位置

print(ord("a"))

#输出结果:
97

(8)dir()——查看函数内部的方法

print(dir(dict))

#输出结果:
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

(9)divmod(a,b)——求商和余数,a,b均为数字

divmod(7, 2)

#输出结果:
(3,1

(10)eval()——用来执行一个字符串表达式,并返回表达式的值

x=6
print(eval('3 * x'))

#输出结果:
18

(11)hash()——求字符串的哈希值

  • 可哈希的数据类型为不可变数据类型,不可哈希的数据类型为可变数据类型
  • 无论你输入的字符串多长,都不会随着你字符串长度的增加而增加,hash长度是固定的,用于校验传输过程中是否被第三方木马修改,验证 hash 值是否匹配即可验证程序是否带木马
  • 不可根据输出的字符串进行反推

(12)help()——用于查看函数或模块用途的详细说明
(13)bin()——10进制转换成2进制
(14)hex()——10进制转换成16进制
(15)oct()——10进制转换成8进制
(16)isinstance()——判断自定义元素是否是所选类型

print(isinstance(2,int))

#输出结果:True

(17)globals()——查看全局变量
(18)locals()——查看局部变量
(19)pow()——求乘方

print(pow(2,3))          #求23次方
print(pow(2,3,2))        #求23次方再对2取余

#输出结果:
8
0

(20)min()——求最小值
(21)max()——求最大值

l = [12,45,787,9567]
print(min(l))
print(max(l))

#输出结果:
12
9567

(22)zip()——“拉链输出”一一对应的,左侧是序列类型

print(list(zip(("a","b","c"),(1,2,3))))
print(list(zip(("a","b","c"),(1,2,3,4))))
print(list(zip(("a","b","c"),(1,2))))

p={"name":"alex","age":18}
print(list(zip(p.values(),p.keys())))

#输出结果:
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2)]
[('alex', 'name'), (18, 'age')]

(23)max的高级用法

  • max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同函数类型不能进行比较
  • 每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出大小,后面的都不需要比较了,直接得出这两个元素的大小

正常求字典中最大的keys及values

age_dict={"age1432434":19,"age3":98,"age2":78,"age4":65}
print(max(age_dict.keys()))
print(max(age_dict.values()))

#输出结果:
age4
98

使用zip求年龄最大的,并且输出其key的值

age_dict={"age1":19,"age3":98,"age2":78,"age4":65}

for item in zip(age_dict.values(),age_dict.keys()):
    print(item)

print("列表中年龄最大的列表是:",max(zip(age_dict.values(),age_dict.keys())))

#输出结果:
(19, 'age1')
(98, 'age3')
(78, 'age2')
(65, 'age4')
列表中年龄最大的列表是: [98, 'age3']

使用lambda求最大值

people=[
    {"name":"alex0","age":18},
    {"name":"alex1","age":28},
    {"name":"alex2","age":38},
    {"name":"alex3","age":48}
]

print(max(people,key=lambda dic:dic["age"]))

#输出结果:
{'name': 'alex3', 'age': 48}

(24)sorted()——排序,只能比较同一类型的,否则报错

l = ["a","s","d","f","h"]
n = [1,3,5,62,56,24,31]
print(sorted(l))
print(sorted(n))

#输出结果:
['a', 'd', 'f', 'h', 's']
[1, 3, 5, 24, 31, 56, 62]

(25)type()——查看类型
(26)sum()——求和,注意,里面要用元组形式

print(sum([1,2]))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章