美文网首页
day13-01 Python的内置函数

day13-01 Python的内置函数

作者: 代码小小白 | 来源:发表于2020-08-18 15:56 被阅读0次
    内置函数
    • python一共提供了68个内置函数
    • 不太常用:
    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
    

    相关文章

      网友评论

          本文标题:day13-01 Python的内置函数

          本文链接:https://www.haomeiwen.com/subject/hezbdktx.html