zoukankan      html  css  js  c++  java
  • 内置函数***

    python提供了68个内置函数

    比较重要的内置函数:

    abs() enumerate() filter() sum() map() max() min() open() range()
    print() len() list() tuple() dict() set() str() float()
    reversed() sorted() type() zip() dir()

    # 1.print(self, *args, sep=' ', end='
    ', file=None)
    print(1, 2, 3)
    print(1, 2, 3, sep='@')
    print(1, end=' ')
    print(2)
    
    
    # 2.list
    l1 = list() # 空列表
    print(l1)
    
    l2 = list('tfdsf445')
    print(l2)
    
    
    # 3.dict  字典的创建方式
    # (1)直接创建
    
    # (2)元组的解构
    d1 = dict([(1, 'one'), (2, 'two'), (3, 'three')]) 
    print(d1)
    
    # (3)dict(key=value)
    d2 = dict(one=1, two=2)
    print(d2)
    
    
    # 4.abs ***返回绝对值
    print(abs(-6))
    
    
    # 5.sum 对可迭代对象求和,支持多个参数
    print(sum([1, 2, 3, ]))
    print(sum([1, 2, 3, 4, 5], 10))
    
    
    # 6.reversed  返回的是一个反转后的迭代器
    # 而 对象.reverse() 方法是对原列表进行反转
    l6 = [1, 2, 3, 4, 5, 6]
    obj6 = reversed(l6)
    print(obj6)
    print(list(obj6))
    
    
    # 7.zip 拉链方法
    l7 = [1, 2, 3, 4, 5]
    t7 = ('', '', '')
    s7 = 'wasd'
    obj = zip(l7, t7, s7)
    print(obj)
    for i in obj:
        print(i)
    
    
    # ************以下方法最最最重要****可以增加key
    
    # 1.min max
    ls = [33, 2, -2, 54, 7, -1, -9]
    
    print(min(ls))
    
    # 以绝对值的方法取ls中最小值
    """
    ls1 = []
    func = lambda a: abs(a)
    for i in ls:
        ls1.append(func(i))
    
    print(min(ls1))
    """
    # 凡是可以加key的:它会自动将可迭代对象中的每个元素作为实参按照顺序传入key对应的函数中,
    # 然后根据该函数的返回值进行比较大小,最后返回比较出的最小的值对应传入的的实参
    print(min(ls, key=abs))  
    
    # 习题1
    dic2 = {'a':3, 'b':2, 'c':1}
    # 求出值最小的键值对
    #print(min(dic2)) # min默认会按照字典的键去比较大小
    """
    思路
    def func_k(k):
        return dic2[k]
        
    print(min(dic2, key=func_k))
    """
    print(min(dic2, key=lambda k: dic2[k]))
    
    
    # 习题2
    # 根据l2中各元组中的数字比较大小
    l2 = [('太白', 18), ('alex', 73), ('wusir', 35), ('昊天', 41)]
    print(min(l2, key=lambda t: t[1])[0])
    
    
    # 2.sorted 排序  对可迭代对象进行排序并返回新的列表
    # 而 sort是对原列表进行排序
    l3 = [('大壮', 76), ('雪飞', 70), ('纳钦', 94), ('张程', 98), ('B哥', 96)]
    print(sorted(l3, key=lambda t: t[1])) # 按照元组里的数字进行排序
    print(sorted(l3, key=lambda t: t[1], reverse=True)) # 从大到小
    
    
    # 3.filter 过滤、筛选,类似于列表推导式的筛选模式
    l4 = [2, 3, 4, 1, 6, 7, 8, 9]
    #print([i for i in l4 if i > 3]) # 返回的列表
    ret3 = filter(lambda i: i > 3, l4)
    print(ret3) # 迭代器对象
    print(list(ret3))
    
    
    # 4.map  类似于列表推导式的循环模式
    l5 = [1, 4, 9, 16, 25]
    #print([i**2 for i in range(1, 6)])
    ret4 = map(lambda i: i**2, range(1, 6))
    print(ret4) # 迭代器
    print(list(ret4))
    
    
    # 5.reduce
    from functools import reduce
    def func5(x, y):
        """
        第一次:x y  : 1 2   x + y = 3  记录:3
        第一次:x y  : 3 3   x + y = 5  记录:6
        第一次:x y  : 6 4  x + y = 3  记录:10
    
        """
        return x + y
    
    r = reduce(func5, [1, 2, 3, 4])
    print(r)

    补充一些需要了解的内置函数:

    # 1.eval  **剥去字符串的外衣运算里面的有返回值的代码
    # 不推荐使用,因为很危险
    s1 = '1 + 3'
    print(eval(s1))
    
    s2 = "{'name':'LGQ'}"
    print(eval(s2))
    
    
    # 2.exec 与eval几乎一样,用于处理代码流
    
    msg = """
    for i in range(10):
        print(i)
    """
    #exec(msg)
    
    
    
    # 3.hash  获取一个对象的哈希值,可哈希对象(int, str, Bool, tuple等不可变数据类型)
    print(hash('gfdsf21321'))
    
    
    # 4.help  **帮助:即打印获取这个对象的说明(源码)
    print(help(str.upper))
    
    
    # 5.callable  ***判断这个对象是否可调用
    
    
    # 6.complex 复数
    print(complex(1, 2))
    
    
    # 7.bin **将十进制转换成二进制并返回
    print(bin(10))
    
    
    # 8.oct  **将十进制转换成八进制并返回
    print(oct(10))
    
    
    # 9.hex ** 十进制转成成六进制并返回
    print(hex(10))
    
    
    # 10.divmod **返回两个数相除的商和余数组成的元组
    print(divmod(10, 3))
    
    
    # 11.round **保留浮点数的小数位数
    print(round(3.14159, 2))
    
    
    # 12.pow  求x**y次幂(三个参数为x**y的结果对z取余)
    print(pow(2, 3))
    print(pow(2, 3, 3))
    
    
    # 13.bytes ***
    s1 = '刘天帝'
    #b = s1.encode('utf-8')
    #print(b)
    b = bytes(s1, encoding='utf-8')
    print(b)
    
    
    # 14.ord **输入该字符找该字符编码的位置
    print(ord('a'))
    print(ord('')) # Unicode
    
    
    # 15.chr **输入位置数字找出其对应的字符
    print(chr(97))
    print(chr(20102))  #Unicode
    
    
    # 16.repr ***返回一个对象的string形式(原形毕露)
    s2 = '哈哈'
    print(repr(s2))
    msg = '我叫%r' % '刘天帝'
    print(msg)
    
    
    # 17.all **可迭代对象中,全部都是True才是True
    l1 = [1, '得分', True, 6]
    print(all(l1))
    
    
    # 18.any **可迭代对象中,有一个是True就是True
    t1 = (2, False, True, '天地', 'ss')
    print(any(t1))
  • 相关阅读:
    C# 设计模式-桥接模式
    C# 设计模式-外观模式
    C# 设计模式-代理模式
    楼层导航奇葩问题解决
    楼层导航和回顶部
    回顾
    禁止右击选中
    安装客服在线系统
    csdn 分享私藏的18个黑科技网站,想找什么软件就找什么软件!!!
    eyoucms 模板
  • 原文地址:https://www.cnblogs.com/GOD-L/p/13528804.html
Copyright © 2011-2022 走看看