理解标准库及第三方库
标准库:
不超300,python解释器自带
第三方库:
超过14万个,质量良莠不齐
pypi.org
使用python第三方库开发 区块链
image.png
image.png

image.png
image.png
image.png

Time库

处理系统时间的库
image.png
基本概念:
计时起点:1970.1.1 00:00:00 可用time.gmtime(0)获得
UTC时间:世界标准时间,与GMT(格林威治时间)一致
DST时间:夏令时时间,源于系统底层C函数
strcture_time:Python中用于保存时间对象、带有属性标签的数据类型

时间表示:

浮点数时间:
时间戳,从起始时间开始计算
strcture_time:
自定义的类
image.png
字符串:
便于用户查看的时间表示方式

库函数:

image.png

时间获取:

产生浮点时间:time() mktime()
产生strcture_time的时间:gmtime() localtime()
产生字符串时间:ctime() asctime()
image.png
image.png
image.png

时间格式化:

image.png
image.png
格式化函数:
image.png
image.png
image.png

程序计时:

image.png
image.png
image.png

辅助函数:

image.png
image.png

random库

基本原理:
image.png

库函数

image.png

基本随机函数

image.png
image.png

扩展随机函数

image.png
image.png
image.png

分布随机函数

image.png
image.png
image.png

re库

处理正则表达式库

正则表达式

image.png
image.png

操作符

image.png
image.png

正则表达式实例

image.png
image.png

库函数

re.search()

image.png
image.png


实例:蒙特卡罗猜测

计算机匹配正则表达式
image.png
image.png
image.png

  1. #蒙特卡罗猜测
  2. import time,random,re
  3. def genStr():
  4. global sigma
  5. s = ""
  6. for i in range(32):
  7. s += sigma[random.randint(0,15)]
  8. return s
  9. sigma = "0123456789ABCDEF"
  10. regex = re.compile(r'[1-2][^2-8][D-F]0+[A-F]')
  11. count = 0
  12. start = time.perf_counter()
  13. match = regex.search(genStr())
  14. while not match:
  15. count += 1
  16. match = regex.search(genStr())
  17. print("程序匹配:猜测{}次,{}->{}".format(count,match.string,match.group(0)))
  18. end = time.perf_counter()
  19. print("程序用时:{:.5f}秒".format(end - start))