Python常用标准库之datetime、random、hashlib、itertools
库:具有相关功能模块的集合
import sys.builtin_module_names #返回内建模块的名字
modules 查看所有可用模块的名字 1.1.1获取当前日期和时间
from datetime import datetime
now = datetime.now()
now1 = datetime.today()
print(now) #2018-11-05 16:59:02.950893
print(now1) #2018-11-05 16:59:02.950894 dt = now.timestamp() #timestamp指1970-1-1 00:00:00到现在时间的秒数
print(dt) #1541408474.822436 dt_1 = datetime.fromtimestamp(dt)
print(dt_1) #1541408474.822436
1.1.2 datetime与str
str转换成datetime:strptime()
datetime转换成str:strftime()
先格式化一个格式:('%Y-%m-%d %H:%M:%S')
from datetime import datetime
s = '2018-3-27 14:23:34'
print(type(s))
f = '%Y-%m-%d %H:%M:%S'
c = datetime.strptime(s,f)
print(c) #2018-03-27 14:23:34 now = datetime.now()
print(now) #2018-11-05 17:17:24.497495 print(now.strftime('%a-%b-%d %H:%M:%S')) #Mon-Nov-05 17:16:12
1.1.3 calendar
import calendar
print(calendar.month(2018,4))
1.1.4 创建一个坐标
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1,2)
print(p.x,p.y)
print(isinstance(p,Point)) #True from collections import namedtuple
Circle = namedtuple('Circle', ['x', 'y','r'])
p = Circle(1,2,3)
print(p.x,p.y,p.r)
1.1.5 deque
为了高效实现插入和删除的双向列表(列表有序不唯一)
from collections import deque
q = deque(['a','b','c'])
q.append('d')
q.appendleft('z')
print(q) #deque(['z', 'a', 'b', 'c', 'd'])
q.pop()
print(q) #deque(['z', 'a', 'b', 'c'])
q.popleft()
print(q) #deque(['a', 'b', 'c'])
1.1.6 defaultdict
平时使用dict,如果引用的key不存在时,会抛出KeyError defaultdict
当key不存在时,返回一个默认值
from collections import defaultdict
dd = defaultdict(lambda :'N/A')
dd['key1'] = 'aaa'
print(dd['key1']) #aaa
print(dd['key2']) #N/A
1.1.7 Counter 计数器,不存在返回0
from collections import Counter
c = Counter() #0
print(c['hello'])
for ch in 'programming':
c[ch] += 1
print(c) #Counter({'r': 2, 'g': 2, 'm': 2, 'p': 1, 'o': 1, 'a': 1, 'i': 1, 'n': 1})
1.1.8 random
from collections import Counter
c = Counter() #0
print(c['hello'])
for ch in 'programming':
c[ch] += 1
print(c) #Counter({'r': 2, 'g': 2, 'm': 2, 'p': 1, 'o': 1, 'a': 1, 'i': 1, 'n': 1}) from collections import random
import random
print(random.randint(1,10))
print(random.random())
2.0 MD5算法---32位16进制数
import hashlib
md5 = hashlib.md5()
s = "hello python how to use md5in python".encode("utf-8")
md5.update(s)
result = md5.hexdigest()
print(result) #ce1f253dc79dd372c57e0d295ab971e3
3.0 SHA1算法--40位16进制数
import hashlib
# md5 = hashlib.md5()
sha = hashlib.sha1()
s = "hello python how to use md5in python".encode("utf-8")
# md5.update(s)
sha.update(s)
result = sha.hexdigest()
print(result) #e1d3e8e095660fca20e6ecaaddf6810648d8b8d9
4.0 itertools模块---用于迭代
无限迭代器
import itertools
cs = itertools.cycle('ABC')
for c in cs:
print(c) #输出无限迭代后的结果 groupby()将迭代器中相邻的重复元素挑出来放在一起
import itertools
for key,group in itertools.groupby('AAAbbbbCCCBBB'):
print(key,list(group))
'''结果:
A ['A', 'A', 'A']
b ['b', 'b', 'b', 'b']
C ['C', 'C', 'C']
B ['B', 'B', 'B']
'''
5.0 爬虫模块
urlib模块:提供一系列用于操作URL的功能
re模块:为高级字符串处理正则表达式工具
Python常用标准库之datetime、random、hashlib、itertools的更多相关文章
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
- python常用标准库(math数学模块和random随机模块)
常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...
- python 常用标准库
标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一. ...
- Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...
- python常用标准库(os系统模块、shutil文件操作模块)
常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...
- python常用标准库(压缩包模块zipfile和tarfile)
常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...
- Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...
- python常用标准库
-------------------系统内建函数------------------- 1.字符串 str='这是一个字符串数据测试数据'对应 str[0]:获取str字符串中下标为 ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
随机推荐
- CSS粘性定位
粘性定位(position:sticky) 1.定义 粘性定位可以被认为是相对定位和固定定位的混合.元素在跨越特定阈值前为相对定位,之后为固定定位.(MDN传送门) 这个特定阈值指的是 top, ri ...
- CSRF 跨站请求伪造学习笔记
参考文章: 漏洞挖掘之CSRF CSRF花式绕过Referer技巧 What-是什么 CSRF(Cross-site request forgery)跨站请求伪造.攻击者通过构造特殊链接或者页面,盗用 ...
- CF833A The Meaningless Game 题解
题目 Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting ...
- 介绍下重绘和回流(Repaint & Reflow),以及如何进行优化
1. 浏览器渲染机制 浏览器采用流式布局模型(Flow Based Layout) 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了渲染树(Render Tre ...
- Celery无法注册任务的几种情况
Celery处理异步任务使得程序不必等待任务结束就可以继续执行其它任务或返回数据结果, 在处理耗时任务如发送邮件.发送信息验证码等场景下非常适用! Celery使用方法灵活,根据具体业务有不同的部署和 ...
- 数据可视化之powerBI入门(十)认识Power BI的核心概念:度量值
https://zhuanlan.zhihu.com/p/64150720 本文学习PowerBI最重要的概念:度量值 初学Power BI一般都会对度量值比较困惑,毕竟对长期接触Excel的人来说, ...
- python 并发专题(九):基础部分补充(一)进程
概念 串行:所有的任务一个一个的完成. 并发:一个cpu完成多个任务.看起来像是同时完成. 并行:多个cpu执行多个任务,真正的同时完成. 阻塞:cpu遇到IO就是阻塞. 非阻塞:没有IO,就叫非阻塞 ...
- 机器学习实战基础(十三):sklearn中的数据预处理和特征工程(六)特征选择 feature_selection 简介
当数据预处理完成后,我们就要开始进行特征工程了. 在做特征选择之前,有三件非常重要的事:跟数据提供者开会!跟数据提供者开会!跟数据提供者开会!一定要抓住给你提供数据的人,尤其是理解业务和数据含义的人, ...
- JavaScript:父页面与Iframe页面方法互调
父页面调用Iframe页面中的函数 以上是父页面中定义的iframe,注意添加name属性 在父页面中调用mapFrame的ShowMyLocation方法 Iframe页面调用父页面的方法 直接在I ...
- c++运行程序 改变字和背景的颜色与窗口大小和位置 (c++)(windows)
关于改变字体的颜色和背景颜色: 在#include <windows.h> 库里 0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A ...