zoukankan      html  css  js  c++  java
  • 模块

    名称空间的嵌套关系是在定义阶段就固定死的,与调用位置无关

    生成器表达式:res=(i for i in range(10) if i>5)

    1.import 模块 

      什么是模块? 模块就是功能的集合体

      模块的四个通用类别:

         使用python编写的.py文件
                把一系列模块组织到一起的文件夹
                已被编译为共享或DLL的c或c++扩展
                使用C编写并连接到python解释器的内置莫模块

           模块的三种来源
                内置模块
                第三方模块
                自定义模块

      为什么要用模块?

        1.使用内置或第三方模块的好处:极大提升开发效率

        2.使用自定义模块的好处:将程序部分组件公用的功能提取到一个模块,其他组件通过调用方式使用该模块,目的是减少代码冗余

      怎么使用模块? 先定义后使用

        首次导入模块会发生的三件事情:

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

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

          3..spam在当前执行文件中,拿到一个名字,改名字指向模块的名称空间

            之后的导入引用首次导入成功的

          调用 spam.money

          导入模块时候 可以其别名  import spam as s

      import 的优缺点:

          优点:引用模块中的名字必须加前缀(模块名.),指名道姓的问某一个空间要名字,不会与当        前名称空间中的名字冲突

          缺点:引用模块中的名字必须加前缀(模块名.),不够简洁

    2.from 模块 import 功能

         1.产生一个模块的名称空间
            2.执行spam.py的文件内容,将产生的名字丢到模块的名称空间内
            3.在当前执行文件中拿到read1,该名字直接指向模块的名称空间中的read1  

         from import的优缺点
              优点:引用模块中的名字不加前缀(模块名.),比较简洁
              缺点:容易与当前执行文件名称空间中的名字冲突
         from spam import *

    3.模块的搜索路径及环境变量sys.path的设置
        1.内存
        2.内置模块
        3.sys.path依次查找 (是以执行文件为准)
            查找模块路径优先级:内存->内置->硬盘

    4.区分python的两种用途_name_
        当文件被当做执行文件时_name_的值为_main_
        当文件被当做模块导入时_name_的值为模块名
        def f1():
            print('f1')    
        def f2():
            print('f2')
        if _name_ == _main_:
            f1()
            f2()

    5.软件开发的目录规范
        1.把项目根目录加到环境变量
        2.应该把项目根目录所在的绝对路径,然后加到环境变量
        3.

        BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        sys.path.append(BASE_DIR)
        项目名
            bin 文件启动目录(环境变量基准)
                start
            conf 配置文件
                settings
            lib 自定义模块(与业务无关)
            core 核心逻辑代码(业务)
                src
            db 数据库文件
            log 日志文件
            Readme 文件(介绍)

    学习,学习,学习! 学习是为了更好的未来,不要让别人瞧不起你,加油!!!
  • 相关阅读:
    排序算法——选择排序
    poj1906
    poj1496
    poj1244
    poj1183
    poj1806
    !!!舒尔茨自律神经训练法
    Google Analytics的能与不能
    乔布斯最伟大的贡献是什么
    冥想呼吸
  • 原文地址:https://www.cnblogs.com/yangyufeng/p/10064602.html
Copyright © 2011-2022 走看看