欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的import

程序员文章站 2024-03-13 15:34:15
...

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:\2code\gitee\PythonDataScience\fundations\pythonimport\module2.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)



转载于:https://www.cnblogs.com/memowings/p/30910f2ee6c5851d8ce4224568988c13.html