python基础 (一)import用法

版权声明:本文参考CSDN博主「易冷cheng」的文章进行精简
原文链接:https://blog.csdn.net/qq_41092406/article/details/118203572

前言

import是用来导入其他 python文模块 module,使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。为了方便说明,我们用实例来说明 import 的用法,

一、用法1:import module_name

import module_name

即 import 后直接接模块名。在这种情况下,Python 会在两个地方寻找这个模块,

  • 第一是 sys.path(通过运行代码import sys; print(sys.path)查看),os 这个模块所在的目录就在列表 sys.path 中,一般安装的 Python 库的目录都可以在 sys.path 中找到(前提是要将 Python 的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接 import 即可。

  • 第二个地方就是运行文件(这里是 main.py)所在的目录,因为 user_defined.py和运行文件在同一目录下,所以上述写法没有问题。

示例:在python工程下创建一个user_defined.py的文件
user-defined.py里的内容如下

def one_pro():
    print("user_defined")

在main.py里引入自定义的模块和系统模块

import os
import user_defined

user_defined.one_pro()
cpuc = os.cpu_count()
print(cpuc)

代码运行结果如下

user_defined
12

二、用法2:from package_name import module_name

from package_name import module_name

在 Python工程下新建一个文件夹doc,在 doc 中新建文件user_defined1.py并写入:

def two_pro():
    print("user_defined1")

在main.py里引入自定义的模块和系统模块

from doc import user_defined1
user_defined1.two_pro()

代码运行结果如下

user_defined1

三、方法3:相对路径导入

这时候再运行 main.py 就 ok 了。列举一下相对导入的写法:

from . import module_name。导入和自己同目录下的模块。
from .package_name import module_name。导入和自己同目录的包的模块。
from … import module_name。导入上级目录的模块。
from …package_name import module_name。导入位于上级目录下的包的模块。

当然还可以有更多的,每多一个点就多往上一层目录。

四、方法4:绝对路径导入

import aa
import os
import sys


BASE_DIR = os.path.dirname(os.path.abspath(__file__))# 获取main.py路径
sys.path.append(os.path.join(BASE_DIR, 'teach'))# 将teach加入环境变量
from branch import bb

aa.print_Self()
bb.print_Self()

五、import其他简单但实用的用法

理解 import 的难点差不多就这样了。下面说一说 import 的其他简单但实用的用法。

  • import moudle_name as alias。有些 module_name 比较长,之后写它时较为麻烦,或者 module_name 会出现名字冲突,可以用 as 来给它改名,如import numpy as np。
  • from module_name import function_name, variable_name, class_name。上面导入的都是整个模块,有时候我们只想使用模块中的某些函数、某些变量、某些类,用这种写法就可以了。使用逗号可以导入模块中的多个元素。
    -有时候导入的元素很多,可以使用反斜杠来换行,官方推荐使用括号。

总结

例如:以上就是今天要讲的关于import的内容,本文仅仅简单介绍了import的使用,而import提供了大量能使我们快速便捷地处理数据的函数和方法。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐