内置函数(68个)

内置函数

python提供了68个内置函数

非常重要

  • min,max

    • 凡是可以加key的,它会自动的将可迭代对象的每个元素按照顺序传入对应的函数中
    li=[5,9,6,3,7]
    print(min(li))
    print(max(li))
    
    得:
    3
    9
    # 求绝对值的最小值
    li=[11,-99,66,4,3,7]
    
    def func(a):
        return abs(a)
    
    print(min(li,key=func))
    
    # 求值最小的键
    dic={'a':4,'b':2,'c':3}
    def func(a):
        return dic[a]
    print(min(dic,key=func)) 
    
    #取列表里面元组值最小的
    li=[('a',5),('b',2),('c',4)]
    print(min(li,key=lambda x : x[-1])[1])
    得:2
    
    
    
  • sorted排序,返回一个新的列表,按升序包含可迭代对象中的所有项。

    li=[('a',5),('b',2),('c',4)]
    print(sorted(li,key=lambda x : x[-1],reverse=True))  #默认从低到高排序,加上reverse=True则从高到低
    
  • filter 过滤,返回的是迭代器

    • 格式:filter(函数,可迭代对象)
    li=[5,6,6,21,8,1,8,92]
    print(list(filter(lambda a:a>3,li)))
    
  • map 返回的是一个迭代器,列表推导式的循环模式

    • map() 会根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

    • 语法格式:map(function, iterable, ...)
    a=[4,6,9]
    ret=map(lambda x:x**2,a)
    print(list(ret))
    得:[16, 36, 81]
    
  • reduce

    from functools import reduce
    def func(a,b):
        '''
        第一次  a=1 b=3 a+b=4
        第二次  a=4(第一次计算的结果) b=4 a+b=8
        第三次  a=8(第二次计算的结果) b=2 a+b=10
        '''
        return a+b
    print(reduce(func,[1,3,4,2]))
    
  • dir()

    • dir()函数不带参数时返回当前范围内的变量、方法和定义的类型列表
    • 带参数时,返回参数的属性、方法列表
  • 重要

    • print 输出

      # def print(self, *args, sep=' ', end='\n', file=None):
      print(1,2,3,sep='*')    (sep默认空格)
      
      得:
      1*2*3
      
    • abs 绝对值

      print(abs(-9))
      得:
      9
      
    • sum 求一个可迭代对象的和,可迭代类型必须是数字类型

      print(sum([1,5,6]))
      得:12
      
      # 设置初始值为10
      print(sum([1,5,6],10))
      
      得:22
      
    • reversed 将一个序列翻转,返回反转序列的迭代器(反转后的迭代器和原列表没有任何关系)不改变原列表

      mag=[i for i in range(10)]
      print(list(reversed(mag)))
      print(mag)
      
      得:
      [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      
    • zip 拉链方法

      dic={1:'a',2:'b',3:'c'}
      li=[1,2,3]
      s1='ghjk'
      z1=list(zip(li,s1,dic.values()))
      print(z1)
      
      得:[(1, 'g', 'a'), (2, 'h', 'b'), (3, 'j', 'c')]
      
  • 以下了解

  • eval 剥去字符串的外衣,运算里面的代码(一般不能用,容易出事,尤其是在网络传输,input输入、sql注入的时候绝对不能使用)

    s1='1+3'
    print(eval(s1))
    得:4
    
  • exec 与eval 几乎一样,这个用于处理代码流

    mag='''for i in range(1,10):
             print(i)'''
    exec (mag)
    
    得:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
  • hash 获取一个对象(可哈希对象:str,int,bool,tuple)的哈希值

    mag='123456wseqwed'
    print(hash(mag))
    
    得:859649198614780549
    
  • help 帮助 ,相当于查看源码

    mag='123456wseqwed'
    print(help(mag.upper))
    
    得:
    upper(...) method of builtins.str instance
        S.upper() -> str
        
        Return a copy of S converted to uppercase.
    
    None
    
    • callable 判断一个对象是否可以被调用,如果返回True,object仍然可能调用失败:但如果返回Flase,调用对象object绝对不会成功。
    mag='123456wseqwed'
    
    def func(mag):
        print('hhhh')
    ret=func(mag)
    print(callable(mag))
    print(callable(func))
    
    得:
    hhhh
    False
    True
    
  • int 整数 将一个字符串或数字转化成整型

  • float 浮点型 将一个字符串或数字转化浮点数

  • bin 将十进制转化成二进制并返回

    print(bin(15))
    得:0b1111   (注:0b是标识二进制的)
    
    
  • oct 将十进制转化成八进制并返回

    print(oct(15)) 
    得:0o17  (注:0o是标识八进制的)
    
  • hex 将十进制转化成十六进制并返回

    print(hex(15))
    得:0xf(注:0x是标识十六进制的)
    
  • divmod 计算除数与被除数的结果,返回一个包含商和余数的元组

    print(divmod(10,3))
    得(3, 1)
    
  • round 保留浮点数小数的位数,默认保留整数,也可设置小数点后保留的位数

    print(round(10.6464,2))
    得:10.65
    
  • pow x**y次幂(三个参数为x**y次幂的结果对z取余)

    print(pow(2,3))
    print(pow(2,3,3))
    得:
    8
    2
    
  • bytes 用于不同编码之间的转换,两种写法一样

    s1='中国'
    s2=s1.encode('utf-8')
    print(s2)
    
    s1='中国'
    s2=bytes(s1,encoding='utf-8')
    print(s2)
    
  • ord 输入字符找该字符编码的位置,返回一个单字符字符串的Unicode码位

    print(ord('a'))
    得:97
    
  • chr 输入位置数字找出其对应的字符,返回一个单字符的Unicode字符串

    print(chr(97))
    得:a
    
  • repr 返回一个对象的string形式

    s='baoli'
    print(repr(s))
    
    s='%r来自山西!'%("baoli")
    print(s)
    
    得:
    'baoli'
    'baoli'来自山西!
    
  • all 可迭代对象中,全部是True才是True

    li=[1,2,3,True,'']
    print(all(li))
    
    得:False   (''不是可迭代对象所以为Flase)
    
  • any 可迭代对象中,有一个是True就都是True

    li=[1,2,3,True,'']
    print(any(li))
    
    得:True   
    
posted @ 2021-06-03 13:33  刘家小仙女  阅读(118)  评论(0编辑  收藏  举报