zoukankan      html  css  js  c++  java
  • day15

    模块的四种形式

    自定义模块

    第三方模块

    内置模块

    import和from...import...

    import

    mport导入 , 引用的时候要加前缀

    1. import首次导入模块发生了3件事:

      1. 以模块为准创造一个模块的名称空间

      2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间

      3. 在当前执行文件中拿到一个模块名

        from...import

        from...import导入, 不需要使用前缀

        from...import...首次导入模块发生了3件事:

        1. 以模块为准创造一个模块的名称空间
        2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
        3. 在当前执行文件的名称空间中拿到一个名字,该名字直接指向模块中的某一个名字,意味着可以不用加任何前缀而直接使用
        • 优点:不用加前缀,代码更加精简
        • 缺点:容易与当前执行文件中名称空间中的名字冲突

    循环导入问题

    m1.py
    from m2 import y
    x = 10
    
    m2.py
    from m1 import x
    y = 20
    
    1. 执行m1.py

    2. m1.py运行到from m2 import y,要运行m2.py

    3. m2.py运行到from m1 import x,要运行m1.py

    4. 进入死循环

      m1.py
      def f1():
          from m2 import y
      
      x = 10
      
      
      # m2.py
      def f1():
          from m1 import x
          
      y = 20
      

    模块的搜索路径

    1. 先从内存中已经导入的模块中寻找
    2. 内置的模块
    3. 环境变量sys.path中找

    python文件的两种用途

    __name__ == '__main__'不成立, __name__ != '__main__'# 当testt为模块文件时,__name__等于文件名
    

    __name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'main';当该文件作为模块文件导入时,__name__等于文件名

    pyinstaller模块

    pyinstaller库 可以将.py文件转化 为.EXE执行文件

    # pyinstaller –i rose.ico(图片文件,百度转一个) –F rose.py(python文件)
    pyinstaller –i rose.ico –F rose.py
    
  • 相关阅读:
    网页工具KOBAS进行KEGG富集分析
    Novel LncRNA的实时定量PCR引物设计教程
    Annotated LncRNA的实时定量PCR引物设计教程
    GO分析-GOseq的使用教程
    转录因子预测-oPOSSUM 3.0的使用教程
    miRNA结合位点预测软件RNAhybrid的使用教程
    关于win10用户名设置为中文导致Rstudio画图报错的解决方法
    edgeR之配对检验分析差异基因的使用教程
    51nod 1051最大子矩阵和
    51nod最大字段和(1049 1254)
  • 原文地址:https://www.cnblogs.com/TZ0503/p/11594027.html
Copyright © 2011-2022 走看看