为了账号安全,请及时绑定邮箱和手机立即绑定

python模块导入

标签:
Python

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消