美文网首页动态语言Ruby Python
关于Python包和模块的9个知识清单

关于Python包和模块的9个知识清单

作者: 妄心xyx | 来源:发表于2018-11-19 21:42 被阅读130次
    关于Python包和模块的9个知识清单

    最近来了不少新人,谢谢大家的关注,有同学问到关于模块与包的问题,特给你们总结关于Python包与模块的9个知识清单。

    0、一个模块(module)就是一个py文件,模块的名字就是该文件的名字(不包含后缀)

    1、一个 包(package)就是一个文件夹,(Python2规定该文件夹必须包含一个 init.py ,Python3没有要求),包名就是文件夹名。

    2、按 import 进来的对象不同分为4种场景:

    关于Python包和模块的9个知识清单

    3、解释器会按照sys.path列表的顺序来查找被引入的包或模块名字。

    关于Python包和模块的9个知识清单

    优先加载当前工作目录下的模块,如果你的项目中使用了与内建模块中同名的包或模块名,就会遇到没有xx属性之类的报错提示,新手特喜欢干这种事。

    4、你可以操作 sys.path,使得其它路径的文件加入到Path中,使之能被解释器发现。

    关于Python包和模块的9个知识清单

    5、另外一种加载模块的方法:如果你的模块不在 sys.path 下面,除了第4条建议外,还可以使用 imp 模块中的方法 imp.load_source

    关于Python包和模块的9个知识清单

    6、import module 时,模块中所有的代码将被执行(类对象,函数对象将被创建,不会被调用),import package 时,init.py 文件中的代码也将被执行。

    7、模块的 file属性

    导入模块时,可以通过模块的 file属性查看模块所在磁盘的路径位置

    关于Python包和模块的9个知识清单

    8、永远不要使用 from <module> import * ,有不可预知的风险

    相关文章

      网友评论

        本文标题:关于Python包和模块的9个知识清单

        本文链接:https://www.haomeiwen.com/subject/fbkzfqtx.html