python中的内置函数

143 阅读3分钟

重要内置函数

1.map()  映射
l1 = [11, 22, 33, 44, 55, 66]
需求:将列表中所有的数据值自增20:
    方法1:列表生成式:
    res = [i+20 for i in l1]
		print(res)  
    方法2map函数
    res = map(lambda x:x+20, l1)
        print(res) # <map object at 0x000001C5F3C13FA0>
        print(list(res)) # [31, 42, 53, 64, 75, 86]  记得转换类型成list
        
2.filter()  过滤器
l1 = ['jason', 'kevin', 'oscar', 'tony']
需求:移除数据值里面的jason
    方法1:列表生成式
    new_l1 = [ i for i in l1 if i != 'jason']
		print(new_l1)
    方式2filter函数
    res = filter(lambda i:i != 'jason', l1)
        print(res)  # <filter object at 0x0000027CDCC13FA0>
        print(list(res))  # ['kevin', 'oscar', 'tony']

3.reduce() 整合
l2 = [1, 2, 3]
需求:求列表中所有数据值的和
    方式1sum()
    res = sum(l1)
		print(res)
    方式2:reduce()  使用前要先导入模块
    from functools import reduce
        res = reduce(lambda x,y:x+y, l1)
        print(res)  
        #原理:lambda有两个参数xy,代表第一次从列表中取两个值相加,第二次用第一次相加的结果和第三个数相加,以此类推。reduce()第三个参数表示把前面的值整合完了之后再加上第三个参数。
        res = reduce(lambda x, y: x + y, l2, 100)
        print(res)  # 106
        
4.zip()  拉链  将多个数据集拉到一起组成一个数据集
4.1两个元素集
    n1 = [1,2,3,4]
    n2 = [11,22,33,44]
    res = zip(n1,n2)
    print(res)  # <zip object at 0x000001B525A53640>
    print(list(res))  # [(1, 11), (2, 22), (3, 33), (4, 44)]
4.2三个元素集
    n1 = [1,2,3,4]
    n2 = [11,22,33,44]
    n3 = 'jack'
    res = zip(n1,n2,n3)
    print(res)  # <zip object at 0x000001E3566E5C00>
    print(list(res))  # [(1, 11, 'j'), (2, 22, 'a'), (3, 33, 'c'), (4, 44, 'k')]
4.3元素集长度不等  # 以短的数据集为准
    n1 = [1,2,3,4,5,6,7]
    n2 = [11,22,33,44]
    n3 = 'jack'
    res = zip(n1,n2,n3)
    print(res)  # <zip object at 0x000001E3566E5C00>
    print(list(res))  # [(1, 11, 'j'), (2, 22, 'a'), (3, 33, 'c'), (4, 44, 'k')]

常见内置函数

1.abs()  #求绝对值
    print(abs(-888))  # 888
2.all() any() #判断容器中所有数据对应的布尔值是否都为True  类似于and 和 or
    print(all([11,22,33,0]))  # False
    print(any([11,22,33,0]))  # True
3.bin() oct() hex()  #十进制转其他进制
    print(bin(999))  # 0b1111100111
    print(oct(999))  # 0o1747
    print(hex(999))  # 0x3e7
4.int()  #其他类型转换成int型 其他进制转换为十进制
    print(int(0b1111100111))  # 999
5.bytes() #类型转换 类似于encode 常与str连用(decode)
    s1 = '你好'
    res1 = s1.encode('utf8')
    print(res1)  # b'\xe4\xbd\xa0\xe5\xa5\xbd'
    res2 = bytes('你好','utf8')
    print(res2)  # b'\xe4\xbd\xa0\xe5\xa5\xbd'
6.callable() #判断某个变量是否可以被加括号调用
    name = 'jason'
    def func():
        print('jason')
    print(callable(name))  # False
    print(callable(func))  # True
7.chr() ord() #依据ASCII码表实现字符与数字的转换
    print(chr(65))  # A   A-Z 65-90
    print(chr(97))  # a   a-z 97-122
    print(ord('A'))  # 65
    print(ord('a'))  # 97
8.dir() #获取对象可以通过句点符点出来的方法
    name = 'jason'
    print(dir(name))
9.divmod() #获取进行除法运算之后的整数和余数
    print(divmod(111,10))  # (11, 1)
    a1, a2 = (divmod(111,10))
    print(a1, a2)  # 11 1
10.enumerate() #枚举
    name_list = ['jason','kevin','jack','mary']# 需求:循环打印数据值及其对应的索引值
    for i,j  in enumerate(name_list,1): #默认从0开始,可以自己指定
        print(i, j)
    # 1 jason
    # 2 kevin
    # 3 jack
    # 4 mary
11.eval() exec() #能够识别字符串中的python代码并执行
    res = 'print(123)'
    eval(res)  # 不识别复杂结构的代码 只能识别最简单的
    exec(res)  # 能够识别复杂结构的代码
    res1 = "for i in range(10):print(i)"
    # eval(res1)
    exec(res1)
12.hash() #返回一串随机的数字(哈希值)
    print(hash('jason'))  # -5522065593508324767
    print(hash('123'))  # -6754719812809970902
13.help() #查看帮助信息
    print(help(len))
14.isinstance() #判断某个数据值属不属于某个数据类型
    print(isinstance(111,int))  # True
    print(isinstance(111,str))  # False
15.pow() #幂指数
    print(pow(2, 3))  # 8
16.round() #四舍五入
    print(round(98.3))
    print(round(98.6))