关于python导入模块import与常见的模块详解


Posted in Python onAugust 28, 2019

0.什么是python模块?干什么的用的?

Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的module模块中。就这样的话,pthon提供的module还是海量的,所以除非使用某个模块里的某个函数时才会将其导入程序中。所以你使用某个函数前,要先知道他在哪个module里,然后将这个模块导入当前程序,然后才能调用这个模块里的函数。

当然 python的模块分为用户自定义的和系统提供的。Python提供一套很有用的标准库(standard library)。标准库会随着Python解释器,绑定在python的安装包里,直到装载到你的操作系统里。 它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让我们编程事半功倍。

1.python中使用关键字import来导入module

import math
import time,calendar #同时导入多个模块

2. 或者from...import 来导入相应的模块

从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *

from math import sqrt,acos
from time import daylight
from math import *

3.导入自定义模块和reload模块

#1.导入一个python模块时,python解释器是如何查找这个模块是否存在的?python解释器的默认查找路径?
可以使用如下命令sys.path进行查看,python默认的查找路径.因为我这里python装在D盘,实际开发中一般部署在linux上。
可以看出pathon默认的查找路径返回的是一个列表。
>>> import sys
>>> sys.path
['', 
'D:\\software\\python3\\python36.zip', 
'D:\\software\\python3\\DLLs', 
'D:\\software\\python3\\lib', 
'D:\\software\\python3', 
'D:\\software\\python3\\lib\\site-packages']
从上面列出的目录里依次查找要导入的模块文件
',' 表示当前路径
 
#2.如果想修改python默认的查找路径,比如增加自定义的查找路径 ,修改顺序等。
sys.path.append('D:\\pythonworkspace\\\\pythontest') #因为sys.path返回值是列表,可以追加
sys.path.insert(0, 'D:\\pythonworkspace\\\\pythontest') #可以确保先搜索这个路径
 
#3.注意模块导入后,如果修改以后,要想生效,需要重新导入。但是重新导入用的不是import
>>> from imp import *
>>> reload(sys) #使用imp 模块里的reload()命令,对模块重新导入
<module 'sys' (built-in)>
>>>

4.python常见的模块,具体全部库参考python官网。

标准库 说明
builtins 内建函数默认加载
os 操作系统接口
sys Python自身的运行环境
functools 常用的工具
json 编码和解码 JSON 对象
logging 记录日志,调试
multiprocessing 多进程
threading 多线程
copy 拷贝
time 时间
datetime 日期和时间
calendar 日历
hashlib 加密算法
random 生成随机数
re 字符串正则匹配
socket 标准的 BSD Sockets API
shutil 文件和目录管理
glob 基于文件通配符搜索

具体每个模块有哪些常用地函数,如何使用,后面会随着开发的学习逐步带入到程序中讲解

扩展库 说明
requests 使用的是 urllib3,继承了urllib2的所有特性
urllib 基于http的高层库
scrapy 爬虫
beautifulsoup4 HTML/XML的解析器
celery 分布式任务调度模块
redis 缓存
Pillow(PIL) 图像处理
xlsxwriter 仅写excle功能,支持xlsx
xlwt 仅写excle功能,支持xls ,2013或更早版office
xlrd 仅读excle功能
elasticsearch 全文搜索引擎
pymysql 数据库连接库
mongoengine/pymongo mongodbpython接口
matplotlib 画图
numpy/scipy 科学计算
django/tornado/flask web框架
xmltodict xml 转 dict
SimpleHTTPServer 简单地HTTP Server,不使用Web框架
gevent 基于协程的Python网络库
fabric 系统管理
pandas 数据处理库
scikit-learn 机器学习库

以上这篇关于python导入模块import与常见的模块详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python字典多条件排序方法实例
Jun 30 Python
python实现中文分词FMM算法实例
Jul 10 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
Python数据类型详解(一)字符串
May 08 Python
详解Python各大聊天系统的屏蔽脏话功能原理
Dec 01 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
基于python实现可视化生成二维码工具
Jul 08 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
Jun 29 Python
Python 中的 copy()和deepcopy()
Nov 07 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 Python
Python datetime包函数简单介绍
Aug 28 #Python
解决python有时候import不了当前的包问题
Aug 28 #Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 #Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 #Python
Python 共享变量加锁、释放详解
Aug 28 #Python
Python使用百度api做人脸对比的方法
Aug 28 #Python
linux下python中文乱码解决方案详解
Aug 28 #Python
You might like
PHP与MySQL交互使用详解
2006/10/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
AngularJS内置指令
2015/02/04 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
javascript实现简易计算器
2017/02/01 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
深入理解Promise.all
2018/08/08 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
Python 闭包的使用方法
2017/09/07 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
质检员的岗位职责
2013/11/15 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
激励口号大全
2014/06/17 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
违纪学生保证书
2015/02/27 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书