博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python模块导入
阅读量:6344 次
发布时间:2019-06-22

本文共 2277 字,大约阅读时间需要 7 分钟。

1、模块的定义:

模块定义:用来逻辑上组织python代码(变量、函数、类、逻辑;目的是:实现一个功能),本质就是.py结尾的python文件。补充:包的定义:用来从逻辑组织模块的,本质就是一个目录(必须带有一个__init__.py文件)

2、导入方法:

导入模块的方法:    1.import module_name    导入一个模块;                            使用的时候需要加上前缀module_name.name    2.import module_name,module2_name   导入多个模块    3.from module_name import *     导入module_name模块里边的所有变量,不建议使用!    4.from module_name import name  只导入module_name里边的name解释了一遍;                                    使用的时候直接 name 调用即可import 和from 的区别    1.import 的时候    module_name.logger()    2.from 的时候      logger() 直接执行;from的时候等于把所有代码都复制了一份,执行一下。解释器:做的事就是指定一个变量 并指向一个内存地址,将代码内容放在了内存地址里边。导入包的方法:    import 包的名字多级目录导入方法:    查看当前路径:        import sys        sys.path    查找父及目录        import os        os.path.abspath(__file__)            abspath()   当前文件的绝对路径            __file__    当前文件的文件名        os.path.dirname(os.path.abspath(__file__))            dirname()   获取目录名        os.path.dirname(os.path.dirname(os.path.abspath(__file__)))    路径加入        sys.path.append()   这样会把路径加入到python系统路径列表的最后,不利于快速查找。        sys.path.insert()   这样就会把路径加入到python系统路径列表的最前边。    例子:        import sys,os        print(sys.path)        a = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))        sys.path.insert(a)        print(sys.path)        from xxx import xxx

3、import本质(路径搜索和搜索路径)

导入模块的本质:就是把python文件解释一遍    分析:import module_name - - -》就是要解释module_name.py- - -》首先要找到module_name.py的位置- - -》查找系统路径sys.path,当前路径优先。导入包的本质就是:执行该包下的__init__.py文件导入包下边的test1.py文件    1.修改__init__.py文件,导入包下边的py文件        from . imprt test1        #import test1    2.在py文件中导入包下边的模块test1.py文件

4、导入优化

例如:

优化前:    module_test.py        def test():            print ("in the test!")    test.py        import module_test        def logger():            module_test.test()            print("in the logger!")        def search():            module_test.test()            print("in the search!")优化后:    module_test.py        def test():            print ("in the test!")    test.py        from module_test import test        def logger():            test()            print("in the logger!")        def search():            test()            print("in the search!")注意:    如果导入模块的方法和目前环境中有冲突,导入的时候可以设置别名:    from module_test import test as test01

转载于:https://blog.51cto.com/506554897/2045699

你可能感兴趣的文章
Linux编译安装MySQL
查看>>
判断DOM元素是否出现再浏览器窗口中
查看>>
ListView、TreeView和DataGrid。
查看>>
设计模式---工厂模式(DesignPattern_FactoryMethod)
查看>>
[UWP]不怎么实用的Shape指南:自定义Shape
查看>>
Java Web之Tomcat调优
查看>>
WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂
查看>>
「镁客早报」微软收购聊天机器人公司XOXO;美国FCC开启首轮高频段5G频谱拍卖...
查看>>
Hello.js参考2
查看>>
10天搞定域名备案(全记录)
查看>>
SocketIo+SpringMvc实现文件的上传下载
查看>>
Confluence 6 使用主题
查看>>
Windows 10 份额突破 40%,Windows 7 连跌四月终回升
查看>>
怎么把Maven项目转为动态Web项目?
查看>>
net之socket的通信
查看>>
Java并发编程基础-线程简介
查看>>
Arm发布Cortex-A76AE自动驾驶芯片架构,宣示车载系统市场主权
查看>>
FreeBSD ports中make可带有的参数(转)
查看>>
Hibernate入门教程
查看>>
【转载】解决windows服务器上定时任务执行时报0x1错误,但是手动执行顺利完成...
查看>>