zoukankan      html  css  js  c++  java
  • python中的模块,以及包的导入的总结

    模块导入的方式:

      模块的概念:一个.py文件就称为一个模块

    导入模块中函数的方式:

        方式一:import  模块名

          使用时:模块名.函数名()

        方式二 :from 模块名 import  函数名

          使用时:函数名()

        方式三: from 模块名 import *

          使用时:函数名()

        方式四:from 模块名 import 函数名 as  tt(自定义)     注意原来的函数名将失效

          使用时:tt()

    可以在模块当中定义一个变量__all__:

        使用__all__的影响:  后面的[]里面写什么函数名,使用from 模块名 import *方式导入时导入什么  __all__如果没有这个变量将全部导入(__all__仅限 于from 模块名 import *这种导入方式)

    加__all__示例:

      1 __all__ = ["demo"]
      2 def demo():
      3 
      4     print("demo")
      5 
      6 def demo1():
      7     print("demo1")
    

      运行结果:

    In [1]: from TT import *
    
    In [2]: demo()
    demo
    
    In [3]: demo1()
    -----------------------------------------------------------------------
    NameError                             Traceback (most recent call last)
    <ipython-input-3-a8330644fa2e> in <module>()
    ----> 1 demo1()
    
    NameError: name 'demo1' is not defined
    
    In [4]: 
    

    不加__all__示例:

     1 def demo():
      2 
      3     print("demo")
      4     
      5 def demo1():
      6     print("demo1")
    

      运行结果:

    In [1]: from TT import *
    
    In [2]: demo()
    demo
    
    In [3]: demo1()
    demo1
    

    包的导入方式

      概念:包含了几个py文件....里面在创建一个__init__文件就是包

    导入包中函数,以及模块的方式:

      方式一:from 包名  import  模块名

       使用时:模块名.函数名()

      方式二:from 包名.模块名  import 函数名

      使用时:函数名()

      方式三 :import  包名.模块名      

       使用的时候   包名.模块名.函数名()

      方式四:from  包名  import  *    

      前提是:将 __init__.py 文件中写入__all__变量(写入方式同模块导入的写入方式)  变量当中写入哪个模块则导入哪个模块,不写则什么都不导入

       使用时:模块名.函数名()

      方式五:import 包名    

      前提是:在包里面的__init__.py   文件里写入    from . import  模块名   __init__.py里面导入哪个模块     通过本方式就能使用哪个模块

       使用时:模块名.函数名()

      方式六:import 包名  

      Python2当中可以在__init__.py文件中写入 Import 模块名  通过import 包名 就可以导入__Init__.py文件中写入的那个模块名(此方法仅限python2)

       使用时:模块名.函数名()

    .pyc文件的介绍:

            导入会产生一个.pyc的字节码文件,此文件是当第一次导入时python解释器会将被导入的模块预解释成字节码的文件,下次再导入时python解释器则不会做预解释而是直接拿.pyc文件使用,这样就不会每次导入时做解释的操作,节省时间,当修改模块文件的内容时,python解释器会根据.pyc文件和模块的修改时间判断有没有对模块做修改,如果模块的修改时间比.pyc文件的晚说明模块已经被修改  Python解释器会将模块重新解释成.pyc文件。

  • 相关阅读:
    c语言面试
    汇编面试基础
    求余符号的用法
    ++a和a++的一点不同
    OVER子句
    SQL执行计划解析(1) 执行计划基础
    sql 排序规则 chinese_prc_ci_as
    SQL执行计划解析(2) 基本查询的图形执行计划
    过sql_trace跟踪得到了该SQL的执行计划,如何看懂执行计划
    JS日历控件集合附效果图、源代码
  • 原文地址:https://www.cnblogs.com/kayb/p/7225764.html
Copyright © 2011-2022 走看看