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

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模块:为高级字符串处理正则表达式工具

最新文章

  1. BZOJ4525——[Usaco2016 Jan]Angry Cows
  2. C++之路进阶——codevs2451(互不侵犯)
  3. nodeschool.io 8
  4. python(22)总结下最近遇到的编码问题
  5. 强大的JS数组
  6. 用Swift重写公司OC项目(Day2)--创建OC与Swift的桥接文件,进而调用OC类库
  7. [改善Java代码] 枚举项数量限定为64个以内
  8. 【转】Getting xrdp to work on CentOS 6.4
  9. 给div命名,使逻辑更加清晰
  10. dos下的cd指令
  11. 3018: [Usaco2012 Nov]Distant Pastures
  12. HTML5开发必备的工具
  13. BigDecimal 专题
  14. Java POJO类直接存储在MongoDB中
  15. 59.phpstudy升级Mysql的正确姿势
  16. python模块之xlrd
  17. Python Socket传输文件
  18. PHP:第一章——PHP中十进制、二进制、八进制、十六进制转换
  19. P2144 [FJOI2007]轮状病毒
  20. SSM 小demo的盲点总结

热门文章

  1. Git 新建版本库命令
  2. Spring设置启动时执行方法
  3. 逻辑式编程语言极简实现(使用C#) - 4. 代码实现(完结)
  4. Windows 用来定位 DLL 的搜索路径
  5. 简单的SQL语句学习
  6. Mysql基础(四):库、表、记录的详细操作、单表查询
  7. 数据可视化之powerBI入门(七)数据清洗中最常使用的十三招
  8. 数据可视化之DAX篇(十三)熟练使用FORMAT函数,轻松自定义数据格式
  9. 保存与恢复变量和模型,tensorflow官方文档阅读笔记
  10. mysql练习题99