Python——第八章 库——标准库

第8章 标准库

一些经常使用、经过检验的规范化程序或子程序的集合。
Python的库:
{
标准库:程序语言自身拥有的库,可以直接使用。无需安装。
第三方库:第三方者使用该语言提供的程序库。
}
Python——第八章 库——标准库_第1张图片

8.1 time库

time库是Python提供处理时间标准库。time库提供系统级精确计时器的计时功能,可以用来分析程序性能,也可以让程序暂停运行时间。

import time
lctime=time.localtime()
print(lctime)

Python——第八章 库——标准库_第2张图片
时间处理函数:

import time
first_time=time.time()
a=0
for i in range(10000):
    a +=1
print(a)
last_time=time.time()
print(last_time-first_time)
print(time.localtime()) #获取本地时间 (2020年7月17日 17:20:45 周五(0-6表示 0表示周一) 199(从2020年开始到目前已经是第199天))
print(time.ctime())    #易读的时间

运行结果如下:
在这里插入图片描述
时间格式化
Python——第八章 库——标准库_第3张图片

import time
t=time.localtime()
print(t)
print(time.mktime(t)) #把t转换为时间戳
t= time.localtime()
a=time.strftime('%Y-%m-%d %H:%M:%S',t)  #年-月-日 时:分:秒
b=time.strftime('%Y##%m##%d %H:%M:%S',t)
print(a)
print(b)
timeString='2020-7-17 17:51:00'
c=time.strptime(timeString,"%Y-%m-%d %H:%M:%S") #格式要与timeString中格式一致
print(c)

运行结果如下:
Python——第八章 库——标准库_第4张图片
程序计时
Python——第八章 库——标准库_第5张图片

import time
start_time=time.time()
time.sleep(2)         #2秒后输出时间
last_time=time.time()
print(last_time-start_time)
a1=time.perf_counter()   #系统随机分配的时间
a2=time.perf_counter()
print(a1,a2)
a1=time.perf_counter()
b1=time.time()
a2=time.perf_counter()
b2=time.time()
print("pref_counter起始时间:",a1,"结束时间",a2,"时间间隔",a2-a1)  #pref_counter时间分辨率更高
print("time起始时间:",b1,"结束时间",b2,"时间间隔",b2-b1)

运行结果如下:
Python——第八章 库——标准库_第6张图片
案例:模拟进度条

#模拟进度条
import time
scale=50
print('_______程序开始执行')
start_time=time.perf_counter()
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    dur=time.perf_counter()-start_time
    print('\r{:^3.0f}%[{}-{}]{:.2f}s'.format(c,a,b,dur),end='')#\r表示光标的位置回退到本行开头的位置
    time.sleep(0.2)
print('\n-----程序执行结束')

运行结果(动态):
在这里插入图片描述
Python——第八章 库——标准库_第7张图片

8.2 random库

import random
print(random.random())
print(random.randint(1,9))

Python——第八章 库——标准库_第8张图片

import random
a=random.random()
print(a)
#seed()初始化随机种子,默认值为当前系统时间
random.seed(2)   #seed中的参数用于固定随机数
a=random.random()
print(a)
#randint(a,b)返回[a,b]之间的一个整数
a=random.randint(3,4) #生成一个[3,4]之间的整数
print(a)
print(random.randrange(1,10))
print(random.randrange(1,10,2)) #{1,3,5,7,9}  2为步长
# uniform(a,b)生成一个[a,b]之间的随机小数
print(random.uniform(1,5))
#choice(seq)从序列类型(例如:列表)中随机返回一个元素
a=['剪刀','石头','布']
print(random.choice(a))
#shuffle(seq)a将序列类型中元素随机排列,返回打乱后的序列
a=['剪刀','石头','布']
random.shuffle(a)
print(a)
#sample(pop.k)从pop类型中随机选取k个元素,以列表的形式返回
a=['剪刀','石头','布']
print(random.sample(a,2))

运行结果如下:
Python——第八章 库——标准库_第9张图片
剪刀石头布游戏案例

#剪刀石头布游戏案例
import random
ls=['剪刀','石头','布']
a=random.choice(ls)
b=input("请在(“剪刀”“石头”“布”)中选择您即将出的手势:")
print("机器选择:",a)
if a=='剪刀' and b=='剪刀':
    print('平局')
if a=='剪刀' and b=='石头':
    print('恭喜您胜出!')
if a=='剪刀' and b=='布':
    print('很抱歉,您输了')
if a == '石头' and b == '石头':
    print('平局')
if a=='石头' and  b=='剪刀':
    print('很抱歉,您输了')
if a == '石头' and b == '布':
    print('恭喜您胜出!')
if a == '布' and b == '布':
    print('平局')
if a == '布' and b == '石头':
    print('恭喜您胜出!')
if a == '布' and b == '剪刀':
    print('很抱歉,您输了')

运行结果如下:
Python——第八章 库——标准库_第10张图片

8.3 turtle库

Python——第八章 库——标准库_第11张图片
窗体函数
Python——第八章 库——标准库_第12张图片

Python——第八章 库——标准库_第13张图片

import turtle
turtle.setup(200,200,50,50)
turtle.done()  #保证窗口调用,不可省略

运行结果如下:
Python——第八章 库——标准库_第14张图片
画笔运动函数
Python——第八章 库——标准库_第15张图片

import turtle
turtle.setup()
#turtle.done()  #保证窗口调用,不可省略
#forward 沿着当前方向前进指定距离
turtle.forward(200)
turtle.fd(200)
#backward()沿着当前相反方向后退指定距离
turtle.backward(200)
#right(angle)向右旋转angel角度
turtle.right(90)
turtle.fd(100)
#left(angle)向左旋转angle角度
turtle.left(90)
turtle.fd(100)
#setheading(angle) 与之前角度无关,旋转angel角度
turtle.setheading(120)
turtle.fd(100)
#goto(x,y)移动到绝对坐标(x,y)
turtle.goto(100,100)
#circle(radius,e)绘制一个指定半径和角度e的圆或弧形
turtle.circle(20,180)
#undo()撤销画笔最后一步的动作
turtle.undo()
#speed() 设置画笔速度 参数为0-10之间
turtle.speed(10)
turtle.fd(100)

案例:绘制六边形

#绘制六边形
import turtle
for i in range(6):
    turtle.setheading(i*60)  #采用这种方式,可以通过通过调节i的大小来改变绘制的图形,三角形可把i 替换成3
    #turtle.left(60)       也可以使用这种方法
    turtle.fd(100)
turtle.done()
#pendown()放下画笔

结果如下:
Python——第八章 库——标准库_第16张图片
画笔状态函数
Python——第八章 库——标准库_第17张图片

import turtle
import time
#penup()提起画笔
turtle.penup()
turtle.fd(-100)
#pendown()放下画笔
turtle.pendown()
turtle.circle(50,360)
#pensize(width)设置画笔线条粗细为指定大小
turtle.pensize(10)
turtle.fd(100)
turtle.pensize(1)
turtle.fd(100)
#color()设置画笔的颜色
turtle.color('red')
turtle.fd(100)
#begin_fill()填充图形前,调用该方法,需要结合end_fill()来使用
turtle.begin_fill()
turtle.color('red')
turtle.circle(50,360)
turtle.end_fill()
#filling()返回填充的状态,True为填充,False为填充失败,需要写在begin_fill()和end_fill()之间
print(turtle.filling())
#clear()清空当前窗口,但不改变当前画笔的位置
turtle.fd(100)
turtle.clear()
#reset清空当前窗口,并重置位置等状态为默认值
turtle.reset()
#screensize()设置画布长和宽
turtle.fd(1000)
turtle.screensize(3000,3000)
#hideturtle()隐藏画笔turtle形状
turtle.fd(100)
turtle.hideturtle()
#showturtle()显示画笔turtle形状
time.sleep(3)
turtle.showturtle()
#isvisible()如果turtle可见则返回TRUE
print(turtle.isvisible())
turtle.done()

案例:丘比特之心

import turtle
def Peach_heart():
    turtle.pensize(5)
    turtle.pencolor('black')  #设置画笔颜色
    turtle.left(135)
    turtle.fd(100)
    turtle.right(180)
    turtle.circle(50,-180)
    turtle.left(90)
    turtle.circle(50,-180)
    turtle.right(180)
    turtle.fd(100)
turtle.begin_fill() #设置填充颜色
turtle.color('red')
Peach_heart()
turtle.end_fill()
turtle.penup()
turtle.goto(100,30)
turtle.pendown()
turtle.setheading(0)
Peach_heart()
turtle.penup()
turtle.goto(-100,30)
turtle.pendown()
turtle.setheading(25)
turtle.color('black')
turtle.fd(350)
turtle.done()

运行结果如下:
Python——第八章 库——标准库_第18张图片

你可能感兴趣的:(Python)