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 文件(介绍)

    学习,学习,学习! 学习是为了更好的未来,不要让别人瞧不起你,加油!!!
  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/yangyufeng/p/10064602.html
Copyright © 2011-2022 走看看