• python 07篇 内置函数和匿名函数


    一、内置函数

    # 下面这些要掌握
    # len type id print input open
    # round min max filter map zip exec eval
    
    print(all([1, 2, 3, 4, 5]))  # 判断可迭代的对象里面的值是否都为真  都为真返回True,否则返回False
    print(any([0, False, '', [], 1]))  # 判断可迭代的对象里面的值是否有为真  只要其中有1个为真返回True,否则返回False
    print(max([1, 2, 3, 4, 5]))  # 判断可迭代的对象里面的最大值
    print(min([1, 2, 3, 4, 5]))  # 判断可迭代的对象里面的最小值
    print(round(11.119998, 2))  # 保留几位小数  会四舍五入
    
    a = '1'
    print(dir(a))  # 把变量的所有可用方法给列出来
    
    print(bin(10))  # 十进制转二进制
    print(chr(98))  # 打印数字对应的ASCII码
    print(ord('b'))  # 打印字符串对应的ASCII码
    print(hex(111))  # 转十六进制
    print(oct(111))  # 转八进制
    
    # 字符集   Unicode 万国码   2个字节   utf-8
    # 字符集转换   先转为Unicode,在转为目标字符集
    # 要在python2上运行,需要在文件顶部加 # encoding = utf-8
    
    s = '''
    for i in range(10):
        print(i)
    '''
    exec(s)  # 用来动态执行python代码  网上常见的在线执行代码的就是用的这个
    eval([1, 2, 3, 4, 5])  # 用来动态执行python代码,但是只能执行简单的代码,比如定义字符串、字典等
    
    # 简化代码  filter() 和 map()
    # filter()  # 过滤
    def jisuan(number):
        if number % 2 == 0:
            return True
    l = range(1, 11)
    l2 = []
    for i in l:
        if jisuan(i):
            l2.append(i)
    # filter会自动循环你传给他的list,然后把list中的每一个元素传给指定的函数,如果这个函数返回True就保留这个元素
    result = list(filter(jisuan, l))
    print(l2)
    print(result)
    # map会自动循环你传给他的list,然后把list中的每一个元素传给指定的函数,把函数的返回值记录下来
    result2 = list(map(jisuan, l))
    print(result2)
    result3 = list(map(str, range(1, 101)))
    print(result3)
    
    
    def test():
        a = 1
        b = 2
        print(locals())  # 获取当前函数里面的局部变量
        print(globals()) # 获取当前函数里面的全部变量
    
    # zip  把几个压缩到一起
    '''
    [
        ['xh','123']
        ['xb','1231223']
        ['xz','1232322']
    ]
    '''
    a = ['xh', 'xb', 'xz']
    b = ['123', '1231223', '1232322']
    for username, password in zip(a, b):  # 使用zip压缩后,变成了二维数组,可以通过拆包来用多个变量来接收
        print(username)
        print(password)
    # enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
    seq = ['one', 'two', 'three']
    for i, element in enumerate(seq):
        print(i, element)
    # 输出结果
    # 0 one
    # 1 two
    # 2 three

    二、匿名函数

    如果这个函数只执行一次的话,那就可以定义一个匿名函数,匿名函数只能处理比较简单的处理逻辑,只能写简单的表达式,不能写循环 判断,比如三元运算符。

    匿名函数定义使用lambda关键字,比如说要定义一个函数,它的功能是返回两个数相加和,就可以使用lambda,代码如下:

    # lambda 来定义匿名函数,一些简单的函数
    a = lambda x: x + 1  # x为入参, :后面是返回值
    result = a(1)
    print(result)
    #  入参可以有多个
    s = lambda x, y: x+y  # 冒号号前面的x,y是入参,冒号后面的是返回值
    print(s(1, 9))  # 因为函数即变量,如果没有定一个变量把lambda存起来的话,它就不在内存里,没法执行,所有把它放到s这个变量里面
  • 相关阅读:
    【转】深入理解CSS定位中的偏移
    【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
    执行sql时出现错误 extraneous input ';' expecting EOF near '<EOF>'
    jquery操作select(增加,删除,清空)
    mybatis 错误CGLIB is not available
    spring事务不会进行回滚的情况
    Hive 存储类型 StoreType
    Sublimetext3安装Emmet插件步骤
    spring-mvc List及数组的配置接收
    solr 学习片段
  • 原文地址:https://www.cnblogs.com/lhy-qingqiu/p/13616571.html
Copyright © 2020-2023  润新知