python-常用内置函数

发布时间:2019-05-28 22:39:39编辑:auto阅读(2025)

    内置函数

    1.其他

      - len / open / id / range / type

    2.输入输出

      - print / input 

    3.强制转换

      - dict / list / tuple / int / str / bool / set

    4.编码相关

      - chr : 将十进制数字转换成Unicode编码中的对应字符串

    v = char(99)
    print(v)  # c

      - ord : 根据字符在Unicode编码中找到其对应的十进制

    con  = ord('中国')
    print(con)  #  20013

    5.数学相关

      - abs 绝对值

      - float 转换为浮点型(小数)

      - max 取最大值

      - min 取最小值

      - sum 求和

      - round 返回浮点数的四舍五入值

      - pow 求一个数的幂

    a,b = divmod(103,5)
    print(a,b)  # a=20  b=3   

      - divmod 两数相除的商和余数

    a,b = divmod(103,5)
    print(a,b)  # a=20  b=3   

     

       示例:

    # 通过分页对数据进行展示
    """
    要求:
        每页显示10条数据
        让用户输入要查看的页面:页码
    """
    USER_LIST = []
    for i in range(1,836):
        temp = {'name':'啦啦啦-%s' %i,'email':'123%s@qq.com' %i }
        USER_LIST.append(temp)
    # 数据总条数
    total_count = len(USER_LIST)
    # 每页显示10条
    per_page_count= 10
    # 总页码数
    max_page_num,a = divmod(total_count,per_page_count)
    if a>0:
        max_page_num += 1
    while True:
        pager = int(input('要查看第几页:'))
        if pager < 1 or pager > max_page_num:
            print('页码不合法,必须是 1 ~ %s' %max_page_num )
        else:
            """
            # 第1页:USER_LIST[0:10] -> 0123456789
            # 第2页:USER_LIST[10:20]
            # 第3页:USER_LIST[20:30]
            """
     
            start = (pager-1) * per_page_count
            end = pager * per_page_count
            data = USER_LIST[start:end]
            for item in data:
                print(item)

     

     6.进制转换相关

      - bin 将十进制数转换为二进制数

      - oct 将十进制数转换为八进制数

      - hex 将十进制数转换为十六进制数

      - int 将其他进制转换为十进制数

    # 二进制转化成十进制
    v1 = '0b1101'
    result = int(v1,base=2)    
    print(result)
    
    # 八进制转化成十进制
    v1 = '0o1101'
    result = int(v1,base=8)
    print(result)
    
    # 十六进制转化成十进制
    v1 = '0x1101'
    result = int(v1,base=16)
    print(result)

     

     综合示例:

    #请将 ip = "192.168.12.79" 中的每个十进制数转换成二进制: 
     # 0010100100001010010001010010001010010 -> 十进制的值
    ip = '192.168.12.79'
    list = []
    for i in  ip.split('.'):
        list.append(bin(int(i)))
    con = ''
    for item in list:
        item = item.replace('0b', '')
        if len(item) == 8:
            con += item
        elif len(item) < 8:
            result = (8-len(item))*'0' + i
            con += result
    print(int(con,base = 2))

     

    7.高级一点的内置函数

      - map 循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回

    v1 = [11,22,33,44]
    result = map(lambda x:x+100,v1)
    print(list(result)) 

      - filter :过滤掉其中不需要的元素

    #将列表里面的字符串取出

    v1 = [11,22,33,'asd',44,'xf'] def func(x): if type(x) == int: return True return False result = filter(func,v1) print(list(result)) # [11, 22, 33, 44] #也可简写成如下: result = filter(lambda x: True if type(x) == int else False ,v1) print(list(result))
    # result = filter(lambda x: type(x) == int ,v1) print(list(result))

     

      - reduce 将多个元素变成一个元素

    import functools   #导入一个模块
    v1 = ['wo','hao','e']
    
    def func(x,y):
        return x+y
    result = functools.reduce(func,v1) 
    print(result)
    
    result = functools.reduce(lambda x,y:x+y,v1)
    print(result)

     

    附录

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

关键字