• 模块


    一.生成器表达式

    语法跟列表生成式一样,只不过列表生成式,是放在中括号内,生成器表达式是放在小括号内

    g=(i for i in range(10) if i > 5)
    print(g)
    print(next(g))

    二.模块

    1.什么是模块:模块就是一系列功能的集合体

    2.模块分为四个通用的类别:

           1 使用python编写的.py文件

      2 已被编译为共享库或DLL的C或C++扩展

      3 把一系列模块组织到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

      4 使用C编写并链接到python解释器的内置模块

    3.模块的来源:

            1. 内置模块

            2.第三方模块

            3.自定义模块:将程序各部分组件共用的功能提取取出放到一个模块里,其他的组件通过导入的方式使用该模块,该模块即自定义的模块

            其中内置模块和第三方模块都是别人写好的,直接用就可以了

    4.为何要用模块

           内置模块和第三方模块可以直接使用,提升开发的效率,自定义模块可以减少代码冗余

    5.如何用模块

    1.import  模块名

              首次导入模块的三个阶段:

                          1.产生一个模块的名称空间

                          2.执行.py文件中的内容,将产生的名字存放到模块的名称空间中

                          3.在当前的执行文件中存放着模块名,该模块名指向了模块的名称空间

    之后的导入直接使用首次导入的结果即可。

    使用import导入模块的优缺点:

    优点:不会与当前执行文件的名称空间中的名字发生冲突

    缺点:引用模块中的名字必须加前缀(模块名.)

    import spam as sm #改模块名
    print(sm.money)
    import n1,n2,n3 #导入多个模块

    2.from.....import.....

        首次导入模块的三个阶段:

                          1.产生一个模块的名称空间

                          2.执行.py文件中的内容,将产生的名字存放到模块的名称空间中

                          3.在当前的执行文件中拿到的名字,指向了模块的名称空间中相对应的名字

    之后的导入直接使用首次导入的结果即可。

    使用from.....import.....导入模块的优缺点:

    优点:容易与当前执行文件的名称空间中的名字发生冲突

    优点:引用模块中的名字不需要加前缀,直接使用即可

    from spam import money as m  #改money的名字
    print(m)
    
    
    from spam import * #把spam模块中所有的名字都导入进去
    print(read1)
    print(money)
    print(read2)

    6.模块的搜索路径

    查找模块路径的优先级:1.内存  2.内置模块  3.sys.path(环境变量):它是以当前执行文件所在的文件夹为准的

    7.如何区分python文件的两种用途

    def f1():
        print('f1')
    
    def f2():
        print('f2')
    
    if __name__ == '__main__':
        f1()
        f2()
    
    # print(__name__)
    # 当文件被当作执行文件执行时__name__的值为__main__
    # 当文件被当作模块导入时__name__的值为模块名

    三.软件开发的目录规范

    bin文件夹中写的是一些启动文件;

    conf文件夹中写的是一些配置文件;

    lib文件夹中写的是一些自定义模块;

    core文件夹中写的是一些程序的核心功能;

    db文件夹中写的是一些数据;

    log文件夹中写的是一些日志文件;

    Readme文件夹中写的是一些使用说明。

  • 相关阅读:
    2014/4/9-最近所想
    DNS坑爹呢?!
    c#委托使用
    sqlserver 获取一个月有多少天
    定时提醒模型
    sqlserver导入dbf文件
    json对象中根据主键判断是否有重复数据
    差异备份与恢复
    html编码和解码
    opendatasource问题
  • 原文地址:https://www.cnblogs.com/wangke0917/p/10064268.html
Copyright © 2020-2023  润新知