10. 说说Python的某些有意思的库(下)
注:博主并非Python专业程序员,年龄12岁,Python龄不到1岁,才疏学浅,如有错误还请大佬指教!???? 希望能通过本专栏帮助到一些Python小白!
嘿各位,我又来了。
上次是不是一点也不过瘾?那当然,知道咱们中国有个词叫压轴吗?( •̀ ω •́ )✧嘿嘿,这回来点稍微好点的。
好,咱们继续搞。需要知道什么是库的,请立即进入传送门。
本文目录
继续说一些有意思的库
os
os?那是什么鬼?
在操作电脑里的其他文件时,我们会经常使用os。比如说一个renames:
import os
os.renames('addingtofiles.txt','abc.txt')
在这之前:
经过小曹的一个右键!一个左键!运行!pia~运行完后就是这模样:
嗯,这个库就说这功能。如果有兴趣的可以import os然后输入os. ,PyCharm会自动给你补全一堆os的常用指令,可以自己去探索探索~~
time
这个库有一个功能大家可能经常会用到。就是延时。
time的延时是怎么回事呢?time相信大家都很熟悉,但是time的延时是怎么回事呢,下面就让小编带大家一起了解吧。
time的延时,其实就是等一会儿,让程序歇一会儿,大家可能会很惊讶程序怎么会需要歇一会儿呢?但事实就是这样,小编也感到非常惊讶。
这就是关于time的延时的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!
呸呸呸,不好意思哈。其实这个主要的用处就是Python它虽然运行速度比不上其他某些语言,但是也很快,以后你爬虫,速度太快,然后把别人网站查崩溃了,你说你上哪评理去?
咳咳,来说说time的延时怎么写吧:
import time
time.sleep(0.1)
print('hello world')
注意一件事:time的延时的单位是秒。数字可以是正整数和正小数。你觉得我们如果输入延时时间为负数会怎么样?好啦,不要去尝试了,我已经帮你们试好了~当然是报错啦!
turtle
重头戏来啦!!!这个就相当于一个可以用代码控制的画图软件。
这个可并没有你想象的辣么简单!嗯,没啥说的,上个代码吧。
from turtle import *
from datetime import datetime
def jump(distanz, winkel=0):
penup()
right(winkel)
forward(distanz)
left(winkel)
pendown()
def hand(laenge, spitze):
fd(laenge*1.15)
rt(90)
fd(spitze/2.0)
lt(120)
fd(spitze)
lt(120)
fd(spitze)
lt(120)
fd(spitze/2.0)
def make_hand_shape(name, laenge, spitze):
reset()
jump(-laenge*0.15)
begin_poly()
hand(laenge, spitze)
end_poly()
hand_form = get_poly()
register_shape(name, hand_form)
def clockface(radius):
reset()
pensize(7)
for i in range(60):
jump(radius)
if i % 5 == 0:
fd(25)
jump(-radius-25)
else:
dot(3)
jump(-radius)
rt(6)
def setup():
global second_hand, minute_hand, hour_hand, writer
mode("logo")
make_hand_shape("second_hand", 125, 25)
make_hand_shape("minute_hand", 130, 25)
make_hand_shape("hour_hand", 90, 25)
clockface(160)
second_hand = Turtle()
second_hand.shape("second_hand")
second_hand.color("gray20", "gray80")
minute_hand = Turtle()
minute_hand.shape("minute_hand")
minute_hand.color("blue1", "red1")
hour_hand = Turtle()
hour_hand.shape("hour_hand")
hour_hand.color("blue3", "red3")
for hand in second_hand, minute_hand, hour_hand:
hand.resizemode("user")
hand.shapesize(1, 1, 3)
hand.speed(0)
ht()
writer = Turtle()
writer.ht()
writer.pu()
writer.bk(85)
def wochentag(t):
wochentag = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
return wochentag[t.weekday()]
def datum(z):
monat = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "June",
"July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."]
j = z.year
m = monat[z.month - 1]
t = z.day
return "%s %d %d" % (m, t, j)
def tick():
t = datetime.today()
sekunde = t.second + t.microsecond*0.000001
minute = t.minute + sekunde/60.0
stunde = t.hour + minute/60.0
try:
tracer(False) # Terminator can occur here
writer.clear()
writer.home()
writer.forward(65)
writer.write(wochentag(t),
align="center", font=("Courier", 14, "bold"))
writer.back(150)
writer.write(datum(t),
align="center", font=("Courier", 14, "bold"))
writer.forward(85)
tracer(True)
second_hand.setheading(6*sekunde) # or here
minute_hand.setheading(6*minute)
hour_hand.setheading(30*stunde)
tracer(True)
ontimer(tick, 100)
except Terminator:
pass
def main():
tracer(False)
setup()
tracer(True)
tick()
return "EVENTLOOP"
if __name__ == "__main__":
mode("logo")
msg = main()
print(msg)
mainloop()
拷到PyCharm里,运行,你会发现一个很奇妙的事情。
卧槽,好像暴露了写这篇文章的时间了。
或许你会想到一个问题:如果我想要实现一个功能,需要上万行才能实现,要是有一个库能把它打包成一行就好了。于是你上网找库。可是没有找到你想要的,怎么办?唔~看来只能自己写上万行了……可是,我还得用好几次怎么办?复制粘贴那么多次?然后为了改一个小数据再翻几万行?
没关系~下一篇告诉你怎么自己做一个打包。但是——不是自己做库哈,那个太难了,不过我们有自己的方法。如果你有问题,欢迎评论or私信!古德拜!
上一篇: [Termux] 几个有意思的小软件包
下一篇: 一个有意思的SSH登陆案例