day13-01 Python的内置函数

2020-08-18  本文已影响0人  代码小小白
内置函数
  1. eval:剥去函数的外衣运算里面的代码
s= "1+3"
print(s) # 输出"1+3"
print(eval(s)) # 输出4

不建议使用,因为在网路传输,input输入时候,容易被黑客拦截,植入病毒代码

  1. exec:exec 与eval几乎一样, 代码流
msg = "for i in range(10):print(i)"
print(msg) # 输出for i in range(10):print(i)
print(exec(msg)) 
# 输出
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
  1. hash:计算哈希值
  2. callable:判断一个对象是否可调用
  3. help:查看帮助,help(str)
  4. int
  5. float
  6. complex: 复数
  7. bin: 将十进制转化成二进制
  8. oct :将十进制转化成八进制
  9. hex: 将十进制转化成十六进制
  10. divmod: divmod(x, y) 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组,计算分页的时候用到
 print(divmod(10,3)) # 输出:(3, 1) 商3余1
  1. round:保留浮点几位小数
  2. pow:求x的y次幂(x**y,当传三个参数时,求x的y次幂对z取余)
 print(pow(2,4)) # 输出:16
 print(pow(2,4,5)) # 输出:1 (余数)
  1. bytes:
s1 = '早上'
b = s1.encode('utf-8')
a = bytes(s1, encoding='utf-8') # 上下两个效果一样,以utf-8编码的形式进行编码
  1. ord:输入字符找该字符编码的位置
  2. repr:返回一个对象的string格式(带有“”)
s1 = '早上'
print(repr(s1)) # 输出'早上',带有引号
# 格式化输出
print("现在是%r", %(s1)) # 输出:现在是"早上"
  1. all: 可迭代对象中所有的都为真,返回真
print(all([1,2,3,4,0])) # 返回false
print(all([1,2,3,4,5])) # 返回true
  1. any:可迭代对象中有一个为真就返回true
print(all([1,2,3,4,0])) # 返回true
常用且重要
  1. print
  2. abs: 绝对值
  3. sum: 求一个可迭代的和
sum([1,2,3,4,5]) # 15
sum([1,2,3,4,5], 1) # 16 之前列表的和 再加最后一位数
  1. zip:拉链函数,将可迭代对象组合成元祖的形式返回,返回一个迭代器对象,长度取最短的那个可迭代对象的长度
a = [1,2,3,4,5]
b = ["a","b","c"]
c = "ABCD"
d = zip(a,b,c)  # 迭代器对象
list(d) # [(1, 'a', 'A'), (2, 'b', 'B'), (3, 'c', 'C')]
e = zip(a, b)
list(e) # [(1, 'a'), (2, 'b'), (3, 'c')]
  1. reversed: 将一个可迭代的对象翻转,返回迭代器对象
list(reversed('abcdef')) # ['f', 'd', 'c', 'b', 'a']
非常重要
  1. min:
  2. max:
print(max(1,2,3)) # 3
print(max([1,2,3])) # 3 列表
print(max('1,2,3')) # 3 字符串
print(max((1,2,3))) # 3 元祖
print(max(((3,1),(2,2),(3,2))))  #(3,2) 先比较第一个,第一个一样在比较第二个数
print(max(('a',2),('A',3))) # ('a',2) 比较a和A在ascii码中的大小,字母和数字不能一起比较
a={1:2,2:2,3:1,4:'aa'}  
print(max(a)) # 4 输出最大的键,字母和数字不能一起比较
# 以绝对值取最大值
l = [1,2,3,4,-5]
max(l, key=abs) # 会将可迭代对象中的每一个元素一次传入key对应的函数中计算后比较
  1. sorted: 将一个可迭代的对象排序,默认是从低到高,返回一个列表,也可以加key
# 按照成绩从高到低排序
l2 = [('大壮', 76), ('雪飞', 70), ('纳钦', 94), ('张珵', 98), ('b哥',96)]
sorted(l2, key = lambda x: x[1], reverse=True) # [('张珵', 98), ('b哥', 96), ('纳钦', 94), ('大壮', 76), ('雪飞', 70)]
  1. filter: 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器
    filter(function, iterable)
    function -- 判断函数。
    iterable -- 可迭代对象。
# 筛选出大于3的元素
l1 = [2, 3, 4, 1, 6, 7, 8]
a = filter(lambda x: x>3, l1) # 迭代器
list(a) # [4, 6, 7, 8]
  1. map: 根据提供的函数对指定序列做映射
    map(function, iterable, ...)
    function -- 函数
    iterable -- 一个或多个序列
l1 = [i**2 for i in range(1,6)] # [1, 4, 9, 16, 25]
l2 = map(lambda x: x**2, range(1,6)) # 迭代器
list(l2) # [1, 4, 9, 16, 25]
  1. reduce: 将可迭代对象里的元素累计运算
reduce(lambda x, y: x+y, [1,2,3,4,5]) # 15
上一篇 下一篇

猜你喜欢

热点阅读