目录
1 time库的使用
- time库是Python中处理时间的标准库
- 提供系统级精确计时功能,用于程序性能分析
- 提供获取系统时间并格式化输出功能
# time库使用方法
import time
time.<b>() # <b>为time的方法
1.1 time库基本介绍
- time库包括三类函数
- 时间获取:
time()
,ctime()
,gmtime()
- 时间格式化:
strftime()
,strptime()
- 程序计时:
sleep()
,perf_counter()
- 时间获取:
1.2 时间获取
1.3 时间格式化
- 将时间以合理的方式展示出来
- 格式化:类似字符串格式化,需要有展示模板
- 展示模板由特定的格式化控制符组成
1.4 程序计时应用
- 测量时间:
perf_counter()
- 产生时间:
sleep()
2 random库
- random库是使用随机数的Python标准库
- 伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
- random库主要用于生成随机数
- random库包括两类函数
- 基本随机数函数:
seed()
,random()
- 扩展随机数函数:
randint()
,getrandbits()
,uniform()
,randrange()
,choice()
,shuffle()
- 基本随机数函数:
2.1 基本随机函数(2个)
2.2 扩展随机数函数(6个)
#!/usr/bin/env python
# -*- coding:utf8 -*-
# 蒙特卡罗方法估算圆周率
import time
import random
n = 1000*1000*10
strtime = time.time()
pn = 0
# 版本一 大概 15s 左右
# for i in range(n):
# x, y = random.random(), random.random()
# if pow( x**2+y**2, 0.5 ) < 1:
# pn = pn + 1
# 版本二 运行大概 12s 左右
# for i in range(n):
# x, y = random.random(), random.random()
# if x+y<1:
# pn = pn + 1
# elif pow( x**2+y**2, 0.5 ) < 1:
# pn = pn + 1
# 版本三 10s 左右
for i in range(n):
x, y = random.random(), random.random()
if x +y > 2**0.5:
continue
elif x+y<1:
pn = pn + 1
elif pow( x**2+y**2, 0.5 ) < 1:
pn = pn + 1
pi = 4 * pn/n
endtime = time.time()
print( "耗时{:.5f}s".format(endtime-strtime) )
print("pi = {}".format(pi))
参考文献
[1] 嵩天、黄天羽、礼欣,北理工MOOC
end