zoukankan      html  css  js  c++  java
  • 模块介绍

    day14

    一、生成器表达式:

    形如各种生成式,但是包含在小括弧内,得到的是一个生成器。

    # g=(i for i in range(10) if i > 5)   #形如列表生成式,但是用小括号包含的称为生成器表达式,得到的g是一个生成器(迭代器)。可以循环取值。

    二、模块:

    1、什么模块:

    模块就是一系列的功能的集合体,在Python中一个py文件就是一个模块。

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

      1 、使用python编写的.py文件;

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

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

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

    模块有三种来源:

      1、内置模块

      2、第三方模块

      3、自定义模块

    2、为何要用模块:

      a、使用内置的或者第三方的模块的好处是:拿来主义,极大提升开发效率;

      b、使用自定义的模块的好处是:将程序各部分组件共用的功能提取出放到一个模块里,其他的组件通过导入的方式使用该模块,该模块即自定义的模块,好处是可以减少代码冗余。

    3、如何用模块

      a、import + 模块名

    #import spam
    #首次导入模块会发生三件事
    #1. 会产生一个模块的名称空间
    #2. 执行spam.py文件的内容,将产生的名字丢到模块的名称空间里
    #3. 在当前执行文件中拿到一个名字spam,该名字指向模块的名称空间
    # 统一文件中首次导入完成后,之后的导入直接引用首次导入的成果
    ​
    ​
    ​
    # 补充:
    # import spam as sm  导入方式
    # print(sm.money)
    # import os,sys,spam

      b、from 模块名(文件夹) import 功能、方法(py文件)

    # from spam import money,read1,read2,change
    #首次导入模块会发生三件事
    #1. 会产生一个模块的名称空间
    #2. 执行spam.py文件的内容,将产生的名字丢到模块的名称空间里
    #3. 在当前执行文件中拿到名字read1,该名字指向模块的名称空间中的read1
    # from spam import money as m
    # print(m)

    c、两种导入方式的对比:

    import总结

      优点:指名道姓地问某一个名称空间要名字,不会与当前执行文件名称空间中的名字冲突;

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

    from...import总结

      优点:引用模块中的名字不用加前缀(模块名.),使用更为简洁;

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

    4、模块的搜索路径:

    查找模块路径的优先级

      1、内存

      2、内置模块

      3、sys.path(是以执行文件为准的)

    5、如何区分Python文件中两种用途:

      py文件中一般采用__ name__的值来区分文件的用途

        a、当文件被当作执行文件执行时__ name__ 的值为__ main__;

        b、当文件被当作模块导入时__ name__的值为模块名。


    三、软件开发的目录规范:

    软件的基本架构:

     

  • 相关阅读:
    c语言 ctype.h中的函数
    sizeof 用法
    [LeetCode] Permutations 解题报告
    [LeetCode] Permutations II 解题报告
    [LeetCode] Next Permutation 解题报告
    [LeetCode] Path Sum II 解题报告
    [LeetCode] Palindrome Number 解题报告
    [LeetCode] Minimum Window Substring 解题报告
    [LeetCode] Partition List 解题报告
    [LeetCode] Pascal's Triangle II 解题报告
  • 原文地址:https://www.cnblogs.com/peng-zhao/p/10064598.html
Copyright © 2011-2022 走看看