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 调用即可

importfrom 的区别
    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、导入优化
例如:

def test():print"in the test!"importdef logger():"in the logger!"def search():"in the search!"def test():print"in the test!"fromimportdef logger():"in the logger!"def search():"in the search!"fromimportas,如需转载请自行联系原作者
相关文章
|
24天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
26天前
|
存储 缓存 算法
Python中collections模块的deque双端队列:深入解析与应用
在Python的`collections`模块中,`deque`(双端队列)是一个线程安全、快速添加和删除元素的双端队列数据类型。它支持从队列的两端添加和弹出元素,提供了比列表更高的效率,特别是在处理大型数据集时。本文将详细解析`deque`的原理、使用方法以及它在各种场景中的应用。
|
3天前
|
开发者 Python
Python的os模块详解
Python的os模块详解
15 0
|
6天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
8天前
|
测试技术 Python
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
|
8天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
40 1
|
10天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
50 0
|
11天前
|
Python
python学习14-模块与包
python学习14-模块与包
|
12天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
17天前
|
索引 Python
「Python系列」Python operator模块、math模块
Python的`operator`模块提供了一系列内置的操作符函数,这些函数对应于Python语言中的内建操作符。使用`operator`模块可以使代码更加清晰和易读,同时也能提高性能,因为它通常比使用Python内建操作符更快。
27 0