天天看点

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)
  
    
      in 
     
      ()
     
    
  ----> 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)