欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-17 20:34:46
...

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

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

继续说一些有意思的库

os

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

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

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

time

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

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

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

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

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

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

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

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的某些有意思的库(下)
卧槽,好像暴露了写这篇文章的时间了。

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

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

相关标签: Python基础