精华内容
下载资源
问答
  • 主要介绍了Python常用内置函数总结,本文罗列了数学相关、功能相关、类型转换、字符串处理、序列处理函数等常用内置函数,需要的朋友可以参考下
  • Python 常用内置函数

    2019-10-09 22:18:31
    最近去面试遇到面试官问Python常用内置函数,在这里学习一下,还没学习到的慢慢做补充。基于Python3 官方网站:https://docs.python.org/3/library/functions.html?highlight=built#ascii 英文好的同学可以直接去...

    最近去面试遇到面试官问Python常用内置函数,在这里学习一下,还没学习到的慢慢做补充。基于Python3

    官方网站:https://docs.python.org/3/library/functions.html?highlight=built#ascii

    英文好的同学可以直接去官网阅读哦,目前3.8(3.9还在开发中)为止,共69个常用内置函数。

                                                                           python内置函数                                                                                                    

    Python abs()函数Python delattr()函数Python hash()函数Python memoryview()函数Python set()函数
    Python all()函数Python dict()函数Python help()函数Python min()函数Python setattr()函数
    Python any()函数Python dir()函数Python hex()函数Python next()函数Python slice()函数
    Python ascii()函数Python divmod()函数Python id()函数Python object()函数Python sorted()函数
    Python bin()函数Python enumerate()函数Python input()函数Python oct()函数Python staticmethod()函数
    Python bool()函数Python eval()函数Python int()函数Python open()函数Python str()函数
    Python breakpoint()函数Python exec()函数Python isinstance()函数Python ord()函数Python sum()函数
    Python bytearray()函数Python filter()函数Python issubclass()函数Python pow()函数Python super()函数
    Python bytes()函数Python float()函数Python iter()函数Python print()函数Python tuple()函数
    Python callable()函数Python format()函数Python len()函数Python property()函数Python type()函数
    Python chr()函数Python frozenset()函数Python list()函数Python range()函数Python vars()函数
    Python classmethod()函数Python getattr()函数Python locals()函数Python repr()函数Python zip()函数
    Python compile()函数Python globals()函数python map()函数Python reversed()函数Python __import__()函数
    Python complex()函数Python hasattr()函数Python max()函数Python round()函数 

    终于过完一遍了,零零碎碎用了十多天时间。后期学习中工作中再去熟练掌握。

     

     

     

     

     

                                                             

     

    展开全文
  • 主要介绍了Python常用内置函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Python常用内置函数

    千次阅读 2020-01-28 16:36:05
    Python常用内置函数:compile(), map(), reduce(), zip(), range(), filter(), eval()

    compile()

    # compile()_39
    
    """
        compile()
            compile(source, filename, mode[, flags[, dont_inherit]])
            compile() 函数将一个字符串编译为字节代码。
            
            source -- 字符串或者AST(Abstract Syntax Trees)对象。。
            filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
            mode -- 指定编译代码的种类。可以指定为 exec, eval。
            flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
            flags和dont_inherit是用来控制编译源码时的标志
    """
    
    # 将语句转换为字节码文件,exec() 函数能运行该字节码文件
    var0 = compile('print("I Love You.")', '', 'exec')  # <code object <module> at 0x03420548, file "", line 1>
    exec(var0)  # I Love You.
    
    # 将该字符串转换为字节码文件,eval() 函数能将该字节码文件的结果计算出来
    var1 = compile('10 * 10', '', 'eval')  # <code object <module> at 0x034A05A0, file "", line 1>
    eval(var1)  # 100
    
    

    Link:菜鸟教程_compile()

    eval()

    # eval()_39
    
    """
        eval()
            eval(expression[, globals[, locals]])
            eval() 函数用来执行一个字符串表达式,并返回表达式的值。
    """
    
    # 可以吧 str 转换为 int 型
    num0 = eval('100')  # 相当于 int('100')
    
    # ================================================================== #
    # eval() 中不允许有以0开头的数值:SyntaxError: invalid token
    # ================================================================== #
    
    # eval('0100')  # int('0100') 不报错
    
    # 能计算 str 里的值
    num1 = eval('10 * 10')  # 100
    
    # 当 str 的表达式为 num1, num2, ...,能做解包操作
    num2, num3 = eval('100, 200')  # 类似 (100, 200).split(',')
    
    # 可用于值的输入操作
    # 注意数值间使用 ',' 分隔
    num4, num5 = input("请输入两个数:")
    
    # 类似的可以写为
    num6, num7 = map(int, input("请输入两个数值:").split(','))
    
    

    Link:菜鸟教程_eval()

    filter()

    # filter()_35
    
    """
        filter()
            filter(function, iterable)
            filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
            该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,\
            \ 然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
    """
    
    def is_not_0(args):
        return True if args is not 0 else False
    
    # 筛出0
    iter0 = filter(is_not_0, [2, 5, 0, 9, 6, 0, 7])  # <filter object at 0x035FCAF0>
    
    # 简单实现filter()
    
    def new_filter(function, iterable):
        
        result = []
        
        # 将返回 True 的元素放到新列表中
        for element in iterable:
            if function(element):
                result.append(element)
        
        return result
                
    iter1 = new_filter(is_not_0, [2, 5, 0, 9, 6, 0, 7])  # [2, 5, 9, 6, 7]
    
    

    Link:菜鸟教程_filter()

    map()

    # map()_35
    
    """
        map()
            map(function, iterable, ...)
            map() 会根据提供的函数对指定序列做映射。
            第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    """
    
    def add_one(args):
        # args add one and returns
        return args + 1
    
    iter1 = map(add_one, range(10))  # <map object at 0x039BC870>
    iter1 = list(iter1)  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    # ========================================================================================= #
    # 不报错当进行输出时报:TypeError: add_one() takes 1 positional argument but 2 were given
    # ========================================================================================= #
    iter2 = map(add_one, [0, 1, 2, 3], [1, 2, 3, 4])  # <map object at 0x03ADCAF0>
    
    def new_add_one(args0, args1):
        args0 += 1
        args1 += 1
    
    # ========================================================================================= #
    # map() 得到的值由参数一中的函数所确定,输出得到:[None] * 4
    # ========================================================================================= #
    iter3 = map(new_add_one, range(4), range(1, 5))  # <map object at 0x03DECF70>
    
    def over_add_one(args0, args1):
        return args0 + 1, args1 + 1
    
    iter4 = map(over_add_one, range(4), range(1, 5))  # 输出得到 [(1, 2), (2, 3), (3, 4), (4, 5)]
    
    
    # 可以使用 map() 构成简单的 zip(),利用 map() 多序列传参的特点
    
    def zip_func(args0, args1):
        return (args0, args1)  # 括号可有可无
    
    iter5 = list(map(zip_func, range(10), range(10)))  # [(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]
    
    # 也可以使用匿名函数
    
    iter6 = list(map(lambda x, y: (x, y), range(10), range(10)))
    
    

    Link:菜鸟教程_eval()

    range()

    # range()_37
    
    """
        range()
            range(start, stop[, step])
            python range() 函数可创建一个整数列表,一般用在 for 循环中。
    """
    
    # 长度为:10
    iter0 = range(10)
    
    # 开始值:5
    iter1 = range(5, 10)
    
    # 步长为:2
    iter2 = range(0, 10, 2)
    
    

    Link:菜鸟教程_range()

    zip()

    # zip()_38
    
    """
        zip()
            zip([iterable, ...])
            zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
            如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
    """
    
    iter0 = zip(range(10), range(10, 0, -1))  # <zip object at 0x0318F440>
    
    iter1 = zip(*iter0)  # <zip object at 0x035EDEB8>
    iter1 = list(iter1)  # [(0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (10, 9, 8, 7, 6, 5, 4, 3, 2, 1)]
    
    

    Link:菜鸟教程_zip()

    reduce()

    # reduce()_35
    
    from functools import reduce
    
    """
        reduce()  # functools
            reduce(function, iterable[, initializer])
            reduce() 函数会对参数序列中元素进行累积。
            函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,\
            \ 得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
    """
    
    def x_add_y(args0, args1):
        return args0 + args1
    
    # 执行过程:先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
    iter0 = reduce(x_add_y, range(10))  # 类似 sum(range(-10))
    
    # 使用匿名函数
    
    iter1 = reduce(lambda x, y: x + y, range(10))
    
    

    Link:菜鸟教程_reduce()

    例子

    # 2.5_39
    
    from math import (cos, sqrt, pi)
    
    # 1
    # 用户输入一个三位自然数,计算并输出其百位,十位,个位上的数字。
    
    def HDU():
        
        # 直接求值
        num = int(input("请输入一个三位自然数:"))
        hundred, decade, unit = num // 100, num // 10 % 10, num % 10  # 求百位,十位,个位
        
        # 使用 divmod() 函数
        """
            divmod()
                divmod(a, b)
                函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)
                
                如果参数 a 与 参数 b 都是整数,函数返回的结果相当于 (a // b, a % b)。
                如果其中一个参数为浮点数时,函数返回的结果相当于 (q, a % b),q 通常是 math.floor(a / b),但也有可能是 1 ,比小,不过 q * b + a % b 的值会非常接近 a。
                如果 a % b 的求余结果不为 0 ,则余数的正负符号跟参数 b 是一样的,若 b 是正数,余数为正数,若 b 为负数,余数也为负数,并且 0 <= abs(a % b) < abs(b)。
        """
        # hundred, temp = divmod(num, 100)
        # decade, unit = divmod(temp, 10)
        
        # =========================================================================================================================================================== # 
        # 使用 map() 函数
        # =========================================================================================================================================================== #
        
        # hundred, decade, unit = map(int, num)
        
        return {'输入': num, '百位': hundred, '十位': decade, '个位': unit}  # 返回字典
    
    
    # 2
    # 已知三角形的两边长及其夹角,求第三边长
    
    def third_side():
        
        fir_side, sec_side, angle = map(float, input("请输入两条边及其夹角:"))
        
        thi_side = sqrt(fir_side ** 2 + sec_side ** 2 - 2 * fir_side * sec_side * cos(angle * (pi / 180)))
        
        return "第三边长为:" + str(thi_side)
    
    
    # 3
    # 任意输入三个英文单词,按照字典顺序依次输出
    
    def order_word():
        
        fir_word, sec_word, thi_word = input("请输入三个英文单词:").split(',')
        min_len = min([len(fir_word), len(sec_word), len(thi_word)])
        fir_num, sec_num, thi_num = 0, 0, 0
        
        for i in range(min_len):
        
            if fir_word[i] < sec_word[i]:
                fir_num += 1
            else:
                sec_num += 1
            
            if fir_word[i] < thi_word[i]:
                fir_num += 1
            else:
                thi_num += 1
            
            if sec_word[i] < thi_word[i]:
                sec_num += 1
            else:
                thi_num += 1
            
        if fir_num > sec_num > thi_num:
            return {'fir_word': fir_word, 'sec_word': sec_word, 'thi_word': thi_word}
        
        if fir_num > thi_num > sec_num:
            return {'fir_word': fir_word, 'sec_word': thi_word, 'thi_word': sec_word}
        
        if sec_num > fir_num > thi_num:
            return {'fir_word': sec_word, 'sec_word': fir_word, 'thi_word': thi_word}
        
        if sec_num > thi_num > fir_num:
            return {'fir_word': sec_word, 'sec_word': thi_word, 'thi_word': fir_word}
        
        if thi_num > fir_num > sec_num:
            return {'fir_word': thi_word, 'sec_word': fir_word, 'thi_word': sec_word}
        
        if thi_num > sec_num > fir_num:
            return {'fir_word': thi_word, 'sec_word': sec_word, 'thi_word': fir_word}
        
        # =========================================================================================================================================================== # 
        # 使用 sorted() 函数
        # =========================================================================================================================================================== #
        
        # fir_word, sec_word, thi_word = sorted([fir_word, sec_word, thi_word])
        # return {'fir_word': fir_word, 'sec_word': sec_word, 'thi_word': thi_word}
    
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,796
精华内容 29,918
关键字:

python常用内置函数

python 订阅