举例讲解Python常用模块


Posted in Python onMarch 08, 2019

datetime

日期时间类,主要熟悉API,时区的概念与语言无关。

from datetime import datetime as dt
dt.utcnow() # 系统UTC时间
dt.now() # 系统当前时间
dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象
dt.now().timestamp() # 秒数1522133962.527885
dt.fromtimestamp(1522133962.527885) # 从秒到datetime对象
dt.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') # string转datetime对象
dt.now().strftime('%a, %b %d %H:%M') # datetime转string

collections

namedtuple

可用于表示简单只读对象。

from collections import namedtuple
Point = namedtuple('Point', ['x', 'y', 'z'])
p = Point(1, 1, 1)
p.x # 1
p.z # 1
p.x = 2 # Error

deque

双向队列。

from collections import deque
q = deque(['a', 'b', 'c'])
q.append('x')
q.pop() # x
q.append('u')
q.popleft() # a

defaultdict

相对于dict,访问不存在的属性时,会返回lambda表达的返回值。

from collections import defaultdict
dd = defaultdict(lambda : None)
dd['x'] = 1
dd['x'] # 1
print(dd['y']) # None

OrderedDict

有序字典,可以保持字典按属性插入的先后顺序。

from collections import OrderedDict
od = OrderedDict()
od['x'] = 1
od['y'] = 2
od['z'] = 3
for item in od:
  print(item) # x y z

Counter

计数器,可理解为属性默认值为0的dict。

from collections import Counter
c = Counter()
c['x'] # 0
c['x'] = 'x'
c['x'] # x

base64

base64编码,把bytes用ascii编码的一种常见方法。

import base64
base64.b64encode(b'hello') # b'aGVsbG8='
base64.b64decode(b'aGVsbG8=') # b'hello'

hashlib

常见的摘要算法,如MD5,SHA1等。

import hashlib as hash
md5 = hash.md5()
md5.update('233'.encode('utf-8'))
print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43

hmac

hmac,类似md5 + salt。

import hmac
password = b'888888'
salt = b'abc'
h = hmac.new(salt, password, digestmod='MD5')
h.hexdigest() # 519151ad14e431254ff684cf4dba2d39

itertools

import itertools
n = 0
for item in itertools.count(1):
  print(item) # 1, 2 ... 10
  n += 1
  if n > 10:
    break
n = 0
for item in itertools.cycle('ABC'):
  print(item) # A, B, C, A ...
  n += 1
  if n > 10:
    break
n = 0
for item in itertools.repeat('A'):
  print(item) # A, A, A ...
  n += 1
  if n > 10:
    break
# 组合多个可迭代对象
for item in itertools.chain('ABC', 'XYZ'):
  print(item) # A, B, C, X, Y, Z

contextlib

with语句所需要的上下文管理器,可借助contextlib模块中的contextmanager使用装饰器模式实现。

from contextlib import contextmanager
@contextmanager
def withable(name):
  yield name
  print('end')
with withable('x') as res:
  print(res) # x, end

urllib

urllib模块中的request可用于实现http-client相关功能。

from urllib import request
with request.urlopen('https://amsimple.com') as res:
  data = res.read()
  print('Status:', res.status, res.reason)
  for k, v in res.getheaders():
    print('%s: %s' % (k, v))

第三方模块

  • Pillow:图片处理
  • requests:比urllib中的request更强大
  • chardet:对字符串进行编码识别
  • psutil: 更便捷获取系统相关信息

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python算法学习之桶排序算法实例(分块排序)
Dec 18 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
Dec 25 Python
python中的字典操作及字典函数
Jan 03 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python初学者常见错误详解
Jul 02 Python
python Pillow图像处理方法汇总
Oct 16 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
学Python 3的理由和必要性
Nov 19 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
什么是python的函数体
Jun 19 Python
python 监控logcat关键字功能
Sep 04 Python
python查询MySQL将数据写入Excel
Oct 29 Python
python re库的正则表达式入门学习教程
Mar 08 #Python
opencv与numpy的图像基本操作
Mar 08 #Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 #Python
python实现整数的二进制循环移位
Mar 08 #Python
Python3实现的反转单链表算法示例
Mar 08 #Python
Python3实现的判断回文链表算法示例
Mar 08 #Python
python字符串循环左移
Mar 08 #Python
You might like
PHP分页显示制作详细讲解
2008/11/19 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
php日期操作技巧小结
2016/06/25 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
浅析javascript的return语句
2015/12/15 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
使用Python处理BAM的方法
2018/09/28 Python
Puppeteer使用示例详解
2019/06/20 Python
详解python调用cmd命令三种方法
2019/07/08 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python 合并拼接字符串的方法
2020/07/28 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
厂区绿化方案
2014/05/08 职场文书
行政处罚决定书
2015/06/24 职场文书
应收账款管理制度
2015/08/06 职场文书
毕业班工作总结
2015/08/10 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫