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, ...
随机推荐
- SQL语法LPAD和RPAD
一.[LPAD左侧补齐] LPAD(str,len,padstr) LPAD(str,len,padstr) 返回字符串 str, 其左边由字符串padstr 填补到len 字符长度.假如str 的长 ...
- Oracle 11gR2 待定的统计信息(Pending Statistic)
Oracle 11gR2 待定的统计信息(Pending Statistic) 官档最权威: 发布优化器统计信息的用户界面 管理已发布和待处理的统计信息 实验先拖着.
- 恕我直言你可能真的不会java第12篇-如何使用Stream API对Map类型元素排序
在这篇文章中,您将学习如何使用Java对Map进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Java中,有 ...
- Netty 源码解析(四): Netty 的 ChannelPipeline
今天是猿灯塔“365篇原创计划”第四篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...
- BZOJ 2200 道路与航线(图论)
BZOJ 2200 道路与航线 题目大意 有两种路,一种没负数,一种没环,求单源最短路. solution 存在负边权Dij一定不能用嘛,显然不是 根据题意能看出来是tarjan,将双向边缩点,得到的 ...
- 返回报文变成xml格式了!
首先,google chrome之前有安装jsonview插件: 然后,自己弄springCloud项目,搭建eureka后,访问url发现返回报文变成xml格式了,一通摸索及查找,现整理如下: 1. ...
- python numpy indexerror: too many indices for array
import numpy as np #data 原来数组 #arr_1 新数组 #将data的第一列赋值给arr_1的第一列 arr_1 = np.array((data.shape[0],5)) ...
- java 面向对象(三十三):泛型二 泛型在集合中的使用
1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add( ...
- python 并发 ThreadPoolExecutor
正文:Executor是一个抽象类,子类: ThreadPoolExecutor和ProcessPoolExecutor ,一个线程池,一个进程池. future对象:在未来的某一时刻完成操作的对象. ...
- javascript基础(四): 操作表单
表单是什么?form-----DOM树 文本框----text 下拉框----select 单选框----radio 多选框----checkbox 隐藏域----hidden 密码框----pass ...