(个人笔记 凑活看吧~~~)
模块的概念:
模块是一个 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_dir\python之路\day5\模块与包.py"
os.path.dirname :当前文件父级的绝对路径 "D:\Py_dir\python之路\day5\"
os.path.dirname(os.path.dirname(os.path.abspath(__file__))) :当前文件爷爷级的绝对路径 "D:\Py_dir\python之路"
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__’ : ”,这样我们就可以通过执行该文件调试代码,而不影响其他程序文件的调用。