模块module
定义:
一般情况下,是.py文件,也包含.dll文件。可以定义函数 ,类和变量。
来源:
1.python内置的模块,即标准库
2.第三方模块
3.自定义模块
模块的导入:
路径相同:
# test.py
__all__ = ['hi','hello']
def hello():
print('hello world')
def hi()
print('hi!')
def song()
print('i love songs!')
# 导入自定义test.py模块
######################################
#####导入单个
import test
#####导入多个,以逗号相隔
import test,test1,test2...
#####导入之后,起别称
import test as t
#####from语句将模块中的对象(类、函数、变量)直接导入
from test import hello
#####如果一个模块如果定义有列表__all__,则from module import * 语句只能导入__all__列表中存在的对象
from test import *
#######################################
路径不同:
# test_1.py---自定义的模块文件,与待执行文件不在同一目录
def hello():
print('hello world')
# hello.py---待执行的文件,目的为调用test_1.py中的hello,输出打印
import test_1
test_1.hello()
# 由于路径不同,不能直接在待执行文件import test_1,否则会报错
方式1:临时添加模块完整路径
# hello.py
import sys
# 模块的存储文件位置,可以临时添加到sys.path变量中
sys.path.append('test_1.py文件的路径')
import test_1
test_1.hello()
方式2:将模块保存到指定位置
将自定义的模块安装在python内部,以便被所有程序共享。
# 首先查看默认路径
import sys
print(sys.path)
运行结果中,列出的所有路径都是 Python 默认的模块加载路径,但通常来说,我们默认将 Python 的扩展模块添加在 lib\site-packages
路径下,它专门用于存放 Python 的扩展模块和包。
方式3:设置环境变量
包Package
定义:
包就是文件夹,但该文件夹下必须存在 __init__.py
文件
包的导入
方式1:常规导入,直接导入整个包的所有的功能函数
import time
from time import *
方式2:import多个导入,导入多个包的所有功能函数
import time,random
方法3:from … import …导入整个包的部分功能函数
from time import localtime
from random import randint
方法4:导入自定义的包
# 执行文件为test.py
# 同目录下,建立了一个Package包,里面包含一个test模块,test模块中定义了hello函数
情况1:import package
注意:只导入包的时候,如想调用模块中的函数,则需要在__init__.py
中引入,或把函数定义在__init__.py
文件中
# 导入方式
import package
# 调用方法
package.hello()
情况2:import package.test
同需要在__init__.py
中引入
# 导入方式
import package.test
# 调用方法1
package.test.hello()
# 调用方法2
package.hello()
情况3:from package.test import hello
# 导入方式
from package.test import hello
# 调用方法
hello()
情况4:from package import test
# 导入方式
from package import test
# 调用方式
test.hello()
借鉴学习:
http://c.biancheng.net/view/4645.html
https://blog.csdn.net/weixin_38256474/article/details/81228492
https://blog.csdn.net/chinesepython/article/details/82113575