zoukankan      html  css  js  c++  java
  • 内置函数补充,列表生成式与生成器,模块

    一、内置函数补充

    pow(2,3,3) # 返回 2的3次方 除以3
    reversed(l) #反转值,让其顺序颠倒。并不排序
    round(3.5) #四舍五入
    sc=slice(1,5,2) #将切分的开始索引,结束索引和步进赋值给一个名称来使用

    eft='hello'
    right={'x':1,'y':2,'z':3}
    zip(left,right) #zip将两个包含多个值得对象进行一一对应

    二、列表生成式与生成器表达式


    生成式表达式格式
    l=['egg%s' %i for i in range(1000) if i > 10]

    优点:方便快速生成了一个大容量数据的列表,数据量过大会占用较多内存

    生成器表达式格式
    l=('egg%s' %i for i in range(1000) if i > 10)

    优点:省内存,一次只产生一个值在内存中

    三、模块

    1 什么是模块?
    模块就一系统功能的集合体,在python中,一个py文件就是一个模块,比如module.py,其中模块名module
    主要分为四种:
    1 使用python编写的.py文件
      2 已被编译为共享库或DLL的C或C++扩展
      3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)
      4 使用C编写并链接到python解释器的内置模块

    2 使用模块

    import 是Python中导入模块的命令,后面跟模块名
    首次导入模块发生三件事
    1、创建一个模块的名称空间
    2、执行模块对应文件,将产生的名字存放于 1 中的名称空间
    3、在当前执行文件中拿到一个模块名,该模块名指向 1 的名称空间
    import spam
    import spam
    import spam
    import spam
    import spam


    read1=11111111111111111111111111
    spam.read2()

    money=1111111111111111
    spam.change()
    print(money)
    spam.read1()

    强调:之后的导入会直接引用第一次导入的结果,不会重复执行文件
    模块中功能的执行始终以模块自己的名称空间为准


    3、为模块起别名
    格式:import spam as sm

    print(sm.money)
    sm.read1()


    engine=input('>>: ').strip()
    if engine == 'mysql':
    import mysql as db
    elif engine == 'oracle':
    import oracle as db
    db.parse()


    4、一行导入多个模块(不推荐使用)
    格式 import spam,mysql,oracle

    Python推荐写成多行,更加清晰明了
    import spam
    import mysql
    import orcacle

    5、from...import 与import的对比

    唯一的区别就是:使用from...import...则是将spam中的名字直接导入到当前的名称空间中,所以在当前名称空间中,直接使用名字就可以了、无需加前缀:spam.

    好处:使用起来方便了
    坏处:容易与当前执行文件中的名字冲突

    6、也支持as

    from spam import money as m
    print(m)

    7、、一行导入多个名字

    from spam import read1,read2,money

    8、from...import *

    from spam import * 把spam中所有的不是以下划线(_)开头的名字都导入到当前位置

    大部分情况下我们的python程序不应该使用这种导入方式,因为*你不知道你导入什么名字,很有可能会覆盖掉你之前已经定义的名字。
    而且可读性极其的差,在交互式环境中导入时没有问题。可以使用__all__来控制*(用来发布新版本),在spam.py中新增一行
    __all__=['money','read1'] 这样在另外一个文件中用from spam import *就这能导入列表中规定的两个名字

    9、模块查找顺序

    模块的查找顺序是:
    1、内存中已经加载的模块
    2、内置模块
    3、sys.path路径中包含的模块

    特别重要:
    sys.path的第一个路径是当前执行文件所在的文件夹




  • 相关阅读:
    PHP获取指定的时间戳
    Thinkphp实现excel数据的导出
    ThinkPHP按月统计订单总金额
    PHP获取本月起始和终止时间戳
    ThinkPHP 判断一个更新操作是否成功
    js 通过浏览器直接打开应用程序(IOS,Android)并判断浏览器内核
    ThinkPHP 后台管理删除、编辑操作(通过数组传ID)
    PHP面向对象
    【转】Chrome调试鼠标悬停后出现的元素
    【重要】Selenium2+python自动化44-元素定位参数化(find_element)
  • 原文地址:https://www.cnblogs.com/zhaodafa/p/8710656.html
Copyright © 2011-2022 走看看