zoukankan      html  css  js  c++  java
  • 生成器表达式,列表推导式、内置函数

    一、列表推导式

    [变量(加工后的变量) for 变量 in iterable] 循环模式
    # l2 = [i for i in range(1, 14)]
    # print(l2)
    # l3 = [ 'python%s期' % i for i in range(1, 14)]
    # print(l3)
    凡是用列表推导式构造的列表对象,用其他方式都可构建.,非常复杂的列表,列表推导式是构建不出的
    [变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式
    # l1 = [i for i in range(1, 31) if i % 3 == 0]
    # print(l1)

    二、生成器表达式

    # g_obj = ('python%s期' % i for i in range(1,14)) # 循环模式
    # g_obj1 = ('python%s期' % i for i in range(1,14) if i % 2 == 0) # 筛选模式
    # print(g_obj)                    #<generator object <genexpr> at 0x00000000025F73B8>
    # print(g_obj.__next__())         #python1期

      1.把列表解析的 [ ] 换成 ( ) 得到的就是生成器表达式

      2.列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存

      3.Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象的

    三、内置函数

    ***locals()    当前位置的所有变量以及函数名等数据.
    ***globals()   永远是全局的.
    *** eval:执行字符串类型的代码,并返回最终结果。
    # print(eval('1+3'))                        4
    # dic = eval("{'name': 'alex'}")
    # print(dic,type(dic))               {'name': 'alex'} <class 'dict'>
    *** exec: 执行字符串类型的代码
    code = '''
    for i in range(1, 11):
        print(i)
    '''
    exec(code)
    结果: 1 2 3 4 5 6 7 8 9 10
    compile:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值
    *** input:函数接受一个标准输入数据,返回为 string 类型
    *** print:打印输出
    # print(1,2,3,sep='|')   # 设置每个元素的连接符 sep='|'
    # print(666,end='')      # end='
    ' 默认换行
    # print(555)
    ** hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值
    ** id:用于获取对象的内存地址
    open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写
    __import__:函数用于动态加载类和函数
    help:函数用于查看函数或模块用途的详细说明
    ** callable:函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
    def func1():
        print(111)
    a = 666
    print(callable(a))             False
    print(callable(func1))         True
  • 相关阅读:
    xcode开发笔记
    css样式笔记
    weex开发的笔记
    启动优化优秀文章和部分内容摘录
    备注Weex开发
    ARKit的使用示例
    数据结构:数据结构可分为几类?
    JAVAWEB应用模块(一)登录模块
    IDEA常用操作链接
    java中成员变量,局部变量,静态变量的辨析
  • 原文地址:https://www.cnblogs.com/molieren/p/9204415.html
Copyright © 2011-2022 走看看