python_模块与包

(个人笔记 凑活看吧~~~)

模块的概念:

   模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。方便组织python代码,使代码更方便易用。

模块的分类:

  标准库

  第三方模块

  自定义模块

import(导入模块)时的搜索路径:

    sys.path

import的心路历程:

  通过搜索路径找到相应的模块的.py文件后,将模块文件里的所有内容执行完后赋值给以模块名命名的变量中

模块调用方法:

  import XXX :调用模块中的所有方法  

      执行方法:XXX.xxx()

  from XXX import xxx  :调用模块中指定的方法

      执行方法:xxx()

  from XXX import xxx,xxx :调用模块中指定的多个方法

      执行方法:xxx()   xxx()

  from XXX import * :调用模块中所有的方法

      执行方法:xxx()

  from XXX import xxx as x :重命名模块名

      执行方法:x()

包的概念:

   为了按目录来组织模块

 包的调用:

  from Pag import Mod  :同目录调用

  from Pag1.Pag2 import Mod :不同目录的调用

  from Pag1.Pag2.Mod import Methods :调用包里模块中的方法  

  注意:

  import Pag :会执行__init__.py文件

BaseDir:

  __file__ :获取文件名的变量  "模块与包.py"

  os.path.abspath(__file__) :当前文件的绝对路径 "D:Py_dirpython之路day5模块与包.py"

  os.path.dirname  :当前文件父级的绝对路径 "D:Py_dirpython之路day5"

  os.path.dirname(os.path.dirname(os.path.abspath(__file__))) :当前文件爷爷级的绝对路径 "D:Py_dirpython之路"

  sys.path :查看当前的环境变量

  sys.path.append() :添加环境变量

    例:BaseDir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
      sys.path.append(BaseDir)

__name__='__main__'  的作用:

  如果我们是在直接执行某个.py文件的时候,那么该文件中的 __name__等于'__main__',要是我们从另一个.py文件中通过import调用这个模块的功能,那么__name__就等于这个模块的名字(不带路径或是文件扩展名)。

  一般情况下我们在调试代码时会在该程序文件中使用“ if __name__ = ‘__main__’ : ”,这样我们就可以通过执行该文件调试代码,而不影响其他程序文件的调用。

   

原文地址:https://www.cnblogs.com/Adairye/p/9286630.html