10. 说说Python的某些有意思的库(下)

注:博主并非Python专业程序员,年龄12岁,Python龄不到1岁,才疏学浅,如有错误还请大佬指教! 希望能通过本专栏帮助到一些Python小白!

嘿各位,我又来了。
上次是不是一点也不过瘾?那当然,知道咱们中国有个词叫压轴吗?( •̀ ω •́ )✧嘿嘿,这回来点稍微好点的。
好,咱们继续搞。需要知道什么是库的,请立即进入传送门。

本文目录

    • 注:博主并非Python专业程序员,年龄12岁,Python龄不到1岁,才疏学浅,如有错误还请大佬指教! 希望能通过本专栏帮助到一些Python小白!
  • 继续说一些有意思的库
    • os
    • time
    • turtle

继续说一些有意思的库

os

os?那是什么鬼?
在操作电脑里的其他文件时,我们会经常使用os。比如说一个renames:

import os
os.renames('addingtofiles.txt','abc.txt')

在这之前:
10. 说说Python的某些有意思的库(下)_第1张图片
经过小曹的一个右键!一个左键!运行!pia~运行完后就是这模样:
10. 说说Python的某些有意思的库(下)_第2张图片
嗯,这个库就说这功能。如果有兴趣的可以import os然后输入os. ,PyCharm会自动给你补全一堆os的常用指令,可以自己去探索探索~~

time

这个库有一个功能大家可能经常会用到。就是延时。

time的延时是怎么回事呢?time相信大家都很熟悉,但是time的延时是怎么回事呢,下面就让小编带大家一起了解吧。
time的延时,其实就是等一会儿,让程序歇一会儿,大家可能会很惊讶程序怎么会需要歇一会儿呢?但事实就是这样,小编也感到非常惊讶。
这就是关于time的延时的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!

呸呸呸,不好意思哈。其实这个主要的用处就是Python它虽然运行速度比不上其他某些语言,但是也很快,以后你爬虫,速度太快,然后把别人网站查崩溃了,你说你上哪评理去?
10. 说说Python的某些有意思的库(下)_第3张图片

咳咳,来说说time的延时怎么写吧:

import time
time.sleep(0.1)
print('hello world')

注意一件事:time的延时的单位是秒。数字可以是正整数和正小数。你觉得我们如果输入延时时间为负数会怎么样?好啦,不要去尝试了,我已经帮你们试好了~当然是报错啦!

在这里插入图片描述
10. 说说Python的某些有意思的库(下)_第4张图片

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里,运行,你会发现一个很奇妙的事情。
10. 说说Python的某些有意思的库(下)_第5张图片
卧槽,好像暴露了写这篇文章的时间了。

或许你会想到一个问题:如果我想要实现一个功能,需要上万行才能实现,要是有一个库能把它打包成一行就好了。于是你上网找库。可是没有找到你想要的,怎么办?唔~看来只能自己写上万行了……可是,我还得用好几次怎么办?复制粘贴那么多次?然后为了改一个小数据再翻几万行?

没关系~下一篇告诉你怎么自己做一个打包。但是——不是自己做库哈,那个太难了,不过我们有自己的方法。如果你有问题,欢迎评论or私信!古德拜!
10. 说说Python的某些有意思的库(下)_第6张图片

你可能感兴趣的