python中的import

Posted memowings

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的import相关的知识,希望对你有一定的参考价值。

Python 中的模块和包

模块(module):包含定义的类/函数/变量的文件,后缀是.py。Python代码的可重用性由此保证
(package):由模块或者子模块组成的Python应用程序执行环境,本质上是一个文件目录,目录中必须直接带有“init.py”文件

1. import语句

可以使用import语句进行模块和包的导入,

# 导入一个模块
import module1
# 导入多个模块
import module1,module2,module3
# 导入模块中指定的属性和方法
from module1 import module_element1,module_element2 [as new_module_name]

2. import语句的本质

import实际上是一种路径搜索;

2.1 导入模块

module1.py

# -*- coding:utf-8 -*-
print("this is python module1")

name = "module1"

def hello():
    print("HELLO!")

module2.py

# -*- coding:utf-8 -*-
import module1

print("this is python module2")

print(type(module1))
print(module1)

运行

[Running] python -u "e:2codegiteePythonDataSciencefundationspythonimportmodule2.py"
this is python module1
this is python module2
<class ‘module‘>
<module ‘module1‘ from ‘e:\\2code\\gitee\\PythonDataScience\\fundations\\pythonimport\\module1.py‘>

在导入模块的时候,模块所在文件夹会自动生成一个__pycache__module1.cpython-36.pyc文件。
"import module1" 的本质是将"module1.py"中的全部代码加载到内存并赋值给与模块同名的变量写在当前文件中,这个变量的类型是‘module‘
默认先当前目录下查找,然后再在系统变量中查找。系统查找的范围是:sys.path下的所有路径,按顺序查找。

2.2 导入包

导入包和模块相对而言在形式上差别并不大

import package

"from module_name import name" 的本质是导入指定的变量或方法到当前文件中
一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行;

【参考文献】
http://www.runoob.com/python3/python3-module.html
https://www.cnblogs.com/yan-lei/p/7828871.html

 

来自为知笔记(Wiz)











以上是关于python中的import的主要内容,如果未能解决你的问题,请参考以下文章

导致活动不工作的片段中的按钮(更新)

`from ... import`与`import .` [重复]

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

python中的import

彻底搞懂Python 中的 import 与 from import

彻底搞懂Python 中的 import 与 from import