库:具有相关功能模块的集合

  1. import sys.builtin_module_names #返回内建模块的名字
    modules 查看所有可用模块的名字
  2.  
  3. 1.1.1获取当前日期和时间
  1. from datetime import datetime
  2. now = datetime.now()
  3. now1 = datetime.today()
  4. print(now) #2018-11-05 16:59:02.950893
  5. print(now1) #2018-11-05 16:59:02.950894
  6.  
  7. dt = now.timestamp() #timestamp指1970-1-1 00:00:00到现在时间的秒数
  8. print(dt) #1541408474.822436
  9.  
  10. dt_1 = datetime.fromtimestamp(dt)
  11. print(dt_1) #1541408474.822436
  1. 1.1.2 datetimestr
    str转换成datetime:strptime()
    datetime转换成str:strftime()
    先格式化一个格式:('%Y-%m-%d %H:%M:%S')
  1.  
  1. from datetime import datetime
  2. s = '2018-3-27 14:23:34'
  3. print(type(s))
  4. f = '%Y-%m-%d %H:%M:%S'
  5. c = datetime.strptime(s,f)
  6. print(c) #2018-03-27 14:23:34
  7.  
  8. now = datetime.now()
  9. print(now) #2018-11-05 17:17:24.497495
  10.  
  11. print(now.strftime('%a-%b-%d %H:%M:%S')) #Mon-Nov-05 17:16:12
  1.  

1.1.3  calendar

  1. import calendar
  2. print(calendar.month(2018,4))
  1.  

1.1.4 创建一个坐标

  1. from collections import namedtuple
  2. Point = namedtuple('Point', ['x', 'y'])
  3. p = Point(1,2)
  4. print(p.x,p.y)
  5. print(isinstance(p,Point)) #True
  6.  
  7. from collections import namedtuple
  8. Circle = namedtuple('Circle', ['x', 'y','r'])
  9. p = Circle(1,2,3)
  10. print(p.x,p.y,p.r)
  1. 1.1.5 deque
    为了高效实现插入和删除的双向列表(列表有序不唯一)
  1. from collections import deque
  2. q = deque(['a','b','c'])
  3. q.append('d')
  4. q.appendleft('z')
  5. print(q) #deque(['z', 'a', 'b', 'c', 'd'])
  6. q.pop()
  7. print(q) #deque(['z', 'a', 'b', 'c'])
  8. q.popleft()
  9. print(q) #deque(['a', 'b', 'c'])

 1.1.6  defaultdict

  1. 平时使用dict,如果引用的key不存在时,会抛出KeyError defaultdict
    key不存在时,返回一个默认值
  1. from collections import defaultdict
  2. dd = defaultdict(lambda :'N/A')
  3. dd['key1'] = 'aaa'
  4. print(dd['key1']) #aaa
  5. print(dd['key2']) #N/A

 1.1.7 Counter  计数器,不存在返回0

  1. from collections import Counter
  2. c = Counter() #0
  3. print(c['hello'])
  4. for ch in 'programming':
  5. c[ch] += 1
  6. print(c) #Counter({'r': 2, 'g': 2, 'm': 2, 'p': 1, 'o': 1, 'a': 1, 'i': 1, 'n': 1})

 1.1.8  random

  1. from collections import Counter
  2. c = Counter() #0
  3. print(c['hello'])
  4. for ch in 'programming':
  5. c[ch] += 1
  6. print(c) #Counter({'r': 2, 'g': 2, 'm': 2, 'p': 1, 'o': 1, 'a': 1, 'i': 1, 'n': 1})
  7.  
  8. from collections import random
  9. import random
  10. print(random.randint(1,10))
  11. print(random.random())

2.0  MD5算法---32位16进制数

  1. import hashlib
  2. md5 = hashlib.md5()
  3. s = "hello python how to use md5in python".encode("utf-8")
  4. md5.update(s)
  5. result = md5.hexdigest()
  6. print(result) #ce1f253dc79dd372c57e0d295ab971e3

3.0  SHA1算法--40位16进制数

  1. import hashlib
  2. # md5 = hashlib.md5()
  3. sha = hashlib.sha1()
  4. s = "hello python how to use md5in python".encode("utf-8")
  5. # md5.update(s)
  6. sha.update(s)
  7. result = sha.hexdigest()
  8. print(result) #e1d3e8e095660fca20e6ecaaddf6810648d8b8d9

4.0  itertools模块---用于迭代

  1. 无限迭代器
  2. import itertools
  3. cs = itertools.cycle('ABC')
  4. for c in cs:
  5. print(c) #输出无限迭代后的结果
  6.  
  7. groupby()将迭代器中相邻的重复元素挑出来放在一起
  8. import itertools
  9. for key,group in itertools.groupby('AAAbbbbCCCBBB'):
  10. print(key,list(group))
  11. '''结果:
  12. A ['A', 'A', 'A']
  13. b ['b', 'b', 'b', 'b']
  14. C ['C', 'C', 'C']
  15. B ['B', 'B', 'B']
  16. '''

 5.0 爬虫模块

  1. urlib模块:提供一系列用于操作URL的功能
    re模块:为高级字符串处理正则表达式工具

Python常用标准库之datetime、random、hashlib、itertools的更多相关文章

  1. python常用标准库(时间模块 time和datetime)

    常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...

  2. python常用标准库(math数学模块和random随机模块)

    常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...

  3. python 常用标准库

    标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一.  ...

  4. Python常用标准库(pickle序列化和JSON序列化)

    常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...

  5. python常用标准库(os系统模块、shutil文件操作模块)

    常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...

  6. python常用标准库(压缩包模块zipfile和tarfile)

    常用的标准库 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式,包括但不限于以下种类:rar.zip.tar,以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包. zip格 ...

  7. Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)

    1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...

  8. python常用标准库

    -------------------系统内建函数------------------- 1.字符串     str='这是一个字符串数据测试数据'对应     str[0]:获取str字符串中下标为 ...

  9. Python的标准库介绍与常用的第三方库

    Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...

随机推荐

  1. SQL语法LPAD和RPAD

    一.[LPAD左侧补齐] LPAD(str,len,padstr) LPAD(str,len,padstr) 返回字符串 str, 其左边由字符串padstr 填补到len 字符长度.假如str 的长 ...

  2. Oracle 11gR2 待定的统计信息(Pending Statistic)

    Oracle 11gR2 待定的统计信息(Pending Statistic) 官档最权威: 发布优化器统计信息的用户界面 管理已发布和待处理的统计信息 实验先拖着.

  3. 恕我直言你可能真的不会java第12篇-如何使用Stream API对Map类型元素排序

    在这篇文章中,您将学习如何使用Java对Map进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Java中,有 ...

  4. Netty 源码解析(四): Netty 的 ChannelPipeline

    今天是猿灯塔“365篇原创计划”第四篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...

  5. BZOJ 2200 道路与航线(图论)

    BZOJ 2200 道路与航线 题目大意 有两种路,一种没负数,一种没环,求单源最短路. solution 存在负边权Dij一定不能用嘛,显然不是 根据题意能看出来是tarjan,将双向边缩点,得到的 ...

  6. 返回报文变成xml格式了!

    首先,google chrome之前有安装jsonview插件: 然后,自己弄springCloud项目,搭建eureka后,访问url发现返回报文变成xml格式了,一通摸索及查找,现整理如下: 1. ...

  7. 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)) ...

  8. java 面向对象(三十三):泛型二 泛型在集合中的使用

    1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add( ...

  9. python 并发 ThreadPoolExecutor

    正文:Executor是一个抽象类,子类: ThreadPoolExecutor和ProcessPoolExecutor ,一个线程池,一个进程池. future对象:在未来的某一时刻完成操作的对象. ...

  10. javascript基础(四): 操作表单

    表单是什么?form-----DOM树 文本框----text 下拉框----select 单选框----radio 多选框----checkbox 隐藏域----hidden 密码框----pass ...