8.什么是模块,模块的导入,__name__

python学习网 2018-02-05 11:38:03

什么是模块:

在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个方法或类,那么我们就需要导入对应的模板。

【python有内置方法、类,所以有些方法我们并不需要导入模块】

 

模块的使用:模块.函数 ,     模块.类


模块的导入:

 

  • 模块导入:

    • import 模块名
    #import 模块名
    import math
    print(math.sqrt(9))
    • from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
#from 模块名 import 类名、方法名
from collections import Iterable 
print(isinstance("abc",Iterable))
print(isinstance([1,2,3],Iterable))
  • from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa

 

  • 自模块导入:

Python import 的搜索路径

1.在当前目录下搜索该模块

2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 【可以从sys.path中获取】

import sys
print(sys.path)

----------
运行结果:
['J:\\HardWork\\Code\\python', 
'J:\\HardWork\\Code\\python',
 'I:\\python3\\python36.zip',
 'I:\\python3\\DLLs', 
'I:\\python3\\lib',
 'I:\\python3', 
'I:\\python3\\lib\\site-packages']

3.在 Python 安装路径的 lib 库中搜索

    • 同级目录导入:直接导入

     image_thumb

    image_thumb[2]

    image_thumb[4]

     

      • 不同级目录导入:将对应目录加入到sys.path中,再import

      目录结构:image_thumb[5]

      c中内容:image_thumb[6]

      b中如何导入c:

      import sys,os
      
      print(__file__)##这是当前文件的绝对路径
      parent_dir=os.path.dirname(__file__)##获得当前文件的目录
      pp_dir=os.path.dirname(parent_dir)
      sys.path.append(pp_dir)
      # print(sys.path)
      import c     #要导入c,必须将diff_dir加入sys.path中

       

       


      __name__:

      由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:

       

      当直接运行时,__name__是__main__:

      print("import C done")
      print(__name__)
      
      if __name__=='__main__':
          print("direct run")
      
      ---------------
      运行结果:
      import C done
      __main__
      direct run

      当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行image_thumb[7]

      import sys,os
      
      # print(__file__)##这是当前文件的绝对路径
      parent_dir=os.path.dirname(__file__)##获得当前文件的目录
      pp_dir=os.path.dirname(parent_dir)
      sys.path.append(pp_dir)
      # print(sys.path)
      import c     #要导入c,必须将diff_dir加入sys.path中
      
      
      
      
      ------------------
      运行结果:
      import C done
      c

       

       

       


      阅读(771) 评论(0)