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, ...
随机推荐
- 每天一个Linux命令(ls)
前提 文件路径的描述方式 只有1个盘,叫根目录/ 绝对路径:从根目录开始描述的文件路径描述方式,如/a/b/c.以/打头的路径描写法一定是绝对路径 相对路径:以相对于当前路径的文件路径描述 ...
- rem和px
做过一段时间的H5页面,但是对于rem与px的换算还是比较模糊,总是引用一段脚本,也没有深究过为什么,就稀里糊涂的用了,遇到一些细微的地方,总是不知道是什么原因导致的,我总是只要能完成效果就行,全然不 ...
- Python 之父说 Python 历史
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:鸿影洲冷 这篇文章主要内容来源于 Python 编程语言的最初设计者 ...
- return 关键字
return关键字:1.使用范围:使用在方法体中2.作用: ① 结束方法 ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据.3.注意点:return关键字后 ...
- C# 基于内容电影推荐项目(一)
从今天起,我将制作一个电影推荐项目,在此写下博客,记录每天的成果. 其实,从我发布 C# 爬取猫眼电影数据 这篇博客后, 我就已经开始制作电影推荐项目了,今天写下这篇博客,也是因为项目进度已经完成50 ...
- JQ滚动加载
$(window).scroll(function () { if ($(document).scrollTop() + $(window).height() >= $(document).he ...
- JS基础知识点(一)
原始类型 null undefined boolean number string symbol 注意 原始类型存储的都是值,是没有函数可以调用的,但实际上除null和undefined外,其他类型使 ...
- js数组算法题01
题目:随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20],将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], ...
- CRLF injection 简单总结
CRLF injection 简单总结 简介 CRLF是"回车 + 换行"(\r\n)的简称,即我们都知道在HTTP协议中,HTTP Header与HTTP Body是用两个CRL ...
- np.nan is an invalid document, expected byte or unicode string.
ValueError Traceback (most recent call last) <ipython-input-12-1dc462ae8893> in <module> ...