• 拓展1: Python Turtle库的使用


    文章目录

    1. turtle库-概念

    1.1 turtle库-对turtle库的定义

    1.1.1 turtle库-什么是turtle库?

    专业版:turtle库是Python语言的一个第三方模块,是由1966年Wally Feurzig和Seymour Papert开发出的一种简单易用的编程语言,现在已经成为Python语言中一个很流行的绘制图像的函数库。

    通俗版: turtle库,是Python用来画图的一个库,这个库里面有很多画图的命令(工具)。用turtle库画图就是去控制画笔的运动,画笔运动的轨迹就是画出来的图形。

    1.2 turtle库-turtle库坐标系统

    1.2.1 turtle库-standard坐标角度系统

    在这里插入图片描述

    1.2.2 turtle库-logo坐标角度系统

    在这里插入图片描述

    # 切换坐标、角度系统
    # mode('standard')
    mode('logo')
    
    • 1
    • 2
    • 3

    2. turtle库-使用

    2.1 turtle库-引入turtle库的三种方式

    2.1.1 方式①:import turtle (直接引用)

    import turtle
    
    turtle.forward(100) # 画笔向所指定方向(默认向右)前进 100 px(px即pixel,分辨率单位,代表像素)
    
    • 1
    • 2
    • 3

    2.1.2 方式②:import turtle as t (替代式引用)

    import turtle as t
    
    t.forward(100)
    
    • 1
    • 2
    • 3

    2.1.3 方式③:from turtle import * (省略式引用)

    from turtle import *
    
    forward(100)
    
    • 1
    • 2
    • 3

    2.2 turtle库-画布与窗口

       简单来说,screensize()函数用来设置画布的大小,setup()函数用来设置窗口的大小。而画布和窗口的关系是,窗口包含画布
       当窗口大于画布,那么画布会填充窗口。
       当窗口小于画布,会出现滚动条。

    2.2.1 画布-screensize() 函数设置画布大小及背景色

       一开始窗口的大小只有400px长,300px宽,默认背景色为白色,所以当我们将画布设置为800px长,400px宽的绿色画布时,我们也只能看到(400px,300px)的绿色画布,而此时会出现滚动条,即窗口小于画布,会出现滚动条

    import turtle
    
    
    # turtle.screensize()即画布默认值=长:400,宽:300,背景颜色:白色
    turtle.screensize()
    turtle.done()  			# 停止画笔绘制,但绘图窗口不关闭
    
    # 写出参数名称
    turtle.screensize(canvwidth=800, canvheight=400, bg="green")
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    # 省略参数名称
    turtle.screensize(800, 400, "red")
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    2.2.2 窗口(窗体)-turtle.setup() 函数设置窗口大小及位置

    因为设置完画布以后,窗口的大小是不会改变的,如果要改变只能通过setup()函数来进行设置
    在这里插入图片描述在这里插入图片描述

    import turtle
    
    turtle.screensize(800,400,"blue") # 此时窗口大小仍为(400,300),画布大小变为(800,400)
    turtle.setup(800,400)		      # 此时窗口大小变为为(800,300),位于屏幕中心
    turtle.done()                     # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5

    当不设置画布参数时,即认为使用默认画布,当窗口大于画布,那么画布会填充窗口

    import turtle
    
    
    # 宽高使用整数时
    turtle.setup(800,400)       # 此时窗口大小变为为(800,400),位于屏幕中心
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    turtle.setup(800,400,0,0)   # 此时窗口大小变为为(800,400),位于屏幕左上角
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    import turtle
    
    
    # 宽高使用小数时
    turtle.setup(1.0,1.0)       # 使用默认画布设置,窗口占据整个屏幕
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    turtle.setup(1.0,0.5)       # 使用默认画布设置,窗口横向占据半个屏幕
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    2.3 turtle库-画笔参数

      在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

    2.3.1 宽度-pensize()函数设置画笔的粗细

    import turtle           # 导入tuetle库
    
    
    # 设置画笔粗细(若未指定fan方向,画笔默认向右)
    turtle.pensize(10)       # 画笔的尺寸为10
    turtle.pensize(50)		      
    turtle.pensize(100)		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    2.3.2 颜色-pencolor()函数设置画笔的颜色

    关于画笔颜色和填充颜色三原色值(红色值Red,绿色值 Green,蓝色值 Blue)
    white:白色(255,255,255)
    balck:黑色(0,0,0)
    red:红色(255,0,0)
    green:绿色(0,255,0)
    bule:蓝色(0,0,255)
    grey:灰色(128,128,128)
    purple:紫色(255,0,255)
    yellow:黄色(255,255,0)
    import turtle           # 导入tuetle库
    
    
    turtle.pencolor()  		# 画笔默认颜色为黑色
    turtle.pencolor("red")  
    turtle.pencolor("blue")  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    2.3.3 移速-turtle.speed()函数设置画笔移动速度

    turtle.speed(speed):设置画笔移动速度(画笔绘制的速度范围[0,10]整数,数字越大越快)

    import turtle           # 导入tuetle库
    
    
    turtle.speed(1)			 # 画笔移动速度为1
    turtle.speed(speed=5)
    turtle.speed(speed=10)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.4 turtle库-常用绘图函数

    2.4.1 done()函数-停止画笔绘制,但绘图窗口不关闭

    在turtle库中,done()函数的作用是停止画笔,并且阻止绘画窗口关闭,如果接下来的代码还需要用到画笔,画笔也不会再启动。

    import turtle
    
    turtle.forward(100)
    turtle.done()
    turtle.left(60)
    turtle.forward(100)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    2.4.2 forward()函数-向当前画笔方向移动distance个像素长度

    import turtle           # 导入tuetle库
    
    turtle.forward(distance=100)     # 画笔以默认向右的方向绘制长度为100px
    turtle.forward(100)     		 # 省略参数名称
    turtle.done()                    # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.3 backward()函数-向当前画笔相反方向移动distance个像素长度

    import turtle
    turtle.backward(distance=100)
    turtle.backward(100)			# 省略参数名称
    turtle.done()                   # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.4.4 right()函数-顺时针移动degree度

    import turtle
    
    turtle.right(60)			# 以标准坐标系为参照,箭头先方向顺时针旋转60°
    turtle.forward(100)			# 再移动100px的长度
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.5 left()函数-逆时针移动degree度

    import turtle
    
    turtle.left(60)			    # 以标准坐标系为参照,箭头先方向逆时针旋转60°
    turtle.forward(100)			# 再移动100px的长度
    turtle.done()               # 停止画笔绘制,但绘图窗口不关闭
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.6 seth()函数-绝对坐标系下偏转绝对角度

    import turtle
    
    turtle.pd()
    turtle.seth(30)
    turtle.fd(100)
    turtle.pu()
    
    turtle.pd()
    turtle.seth(60)
    turtle.fd(100)
    turtle.pu()
    
    turtle.pd()
    turtle.seth(120)
    turtle.fd(100)
    turtle.pu()
    
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

    2.4.7 penup()函数-抬起画笔不显示移动轨迹

    抬起画笔后,移动时不会绘制线条。

    import turtle
    
    turtle.penup()  # 抬起画笔
    turtle.forward(100)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.8 pendown()函数-落下画笔显示移动轨迹

      常与penup()函数成对使用,画笔落下后,移动时会再次显示移动轨迹。
      简单来说先用pendown()函数落笔,画完一个图形后则用penup()函数提笔,现在已经画完了一个图形,那么我们再用pendown()函数落笔开始画第二个图形,画完第二个图形后penuo()函数提笔,依次类推。

    import turtle
    
    
    turtle.forward(50)
    
    
    turtle.penup()          # 抬起画笔
    turtle.forward(50)
    
    
    turtle.pendown()        # 落下画笔
    turtle.forward(50)
    
    
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    2.4.9 goto()函数-从原点移动轨迹到指定坐标

    import turtle
    
    
    turtle.goto(100,200)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.10 circle(r )函数-画出半径为r的圆

    圆半径为,则圆心在画笔的左边(y正半轴) 画圆
    圆半径为,则圆心在画笔的右边(y负半轴) 画圆

    import turtle
    
    turtle.pendown()
    turtle.circle(r=100)	# 省略名称后则可以直接写turtle.circle(100)
    turtle.penup()
    
    turtle.pendown()
    turtle.circle(r=-100)
    turtle.penup()
    turtle.done()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    2.4.11 circle(r,extent)函数-绘制一个半径为 r,角度为extent的圆或弧形

    import turtle
    
    turtle.circle(r=100,e=180)  # 绘制一个半径为100,角度为180°的弧形
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.4.12 turtle.dot(r, e)函数-绘制一个半径为r,颜色为e的圆

    import turtle
    
    turtle.hideturtle()
    turtle.dot(200, "yellow")		# 半径为200的黄色圆
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.13 turtle.shape()函数-画笔箭头变成小乌龟

    import turtle
    
    turtle.shape("turtle")
    turtle.forward(100)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.14 hideturtle()函数-隐藏画笔箭头

    import turtle
    
    turtle.hideturtle()
    turtle.forward(100)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    2.4.15 showturtle()函数-显示画笔箭头

    import turtle
    
    # 隐藏箭头,显示轨迹
    turtle.pendown() 
    turtle.hideturtle()
    turtle.forward(100)
    
    # 隐藏箭头,隐藏轨迹
    turtle.penup()
    turtle.forward(100)
    
    # 显示箭头,显示轨迹
    turtle.pendown()
    turtle.showturtle()
    turtle.forward(100)
    
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    2.4.16 fillcolor()函数、begin_fill()函数、end_fill()函数-给绘制的图形填充颜色

    import turtle 
    
    
    turtle.fillcolor('green')  # 设置填充的颜色
    
    turtle.begin_fill()        # 开始填充颜色
    for j in range(4):
        turtle.forward(100)
        turtle.left(90)
    turtle.end_fill()          # 结束填充颜色
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    2.4.17 turtle.color(color1, color2)函数-同时设置画笔颜色、填充颜色

    import turtle 
    
    
    turtle.color("red","blue")  # 画笔颜色设置为红色,填充颜色设置为蓝色
    
    turtle.begin_fill()  # 开始填充颜色
    for j in range(4):
        turtle.forward(100)
        turtle.left(90)
    turtle.end_fill()  # 结束填充颜色
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    2.4.18 turtle.write()函数-写文字

    import turtle
    
    import turtle
    
    turtle.write(arg="他朝若是同淋雪,此生也算共白头", move=False, align='left', font=('Arial', 16, 'normal'))
    turtle.hideturtle()
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    2.4.19 turtle.home()函数-将画笔移动到原点

    # import package
    import turtle
    
    
    # set turtle speed to fastest
    # for bettrt understandings
    turtle.speed(10)
    
    # method to draw a part
    
    
    def fxn():
    
      # motion
      turtle.circle(50, 180)
      turtle.right(90)
      turtle.circle(50, 180)
    
    
    # loop to draw pattern
    for i in range(12):
      fxn()
    
      # set turtle at home
      turtle.up()
      turtle.home()
      turtle.down()
    
      # set position
      turtle.left(30*(i+1))
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    在这里插入图片描述

    2.4.20 turtle.bgcolor()函数-设置背景颜色

    import turtle as t
    
    t.bgcolor('black')
    t.done()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.5 turtle库-实例演示

    2.5.1 实例演示-五色填正方形组合图案

    import turtle 
    
    
    def drawRect():
        turtle.hideturtle()
        turtle.pendown()
        for i in range(4):
            turtle.forward(100)
            turtle.left(90)
            turtle.speed(10)
        turtle.penup()
    
    
    def main():
        clrs = ['red', 'green', 'blue', 'gray', 'brown']  # 颜色列表
        for i in range(10):
            turtle.fillcolor(clrs[i % 5])                      # 从列表中选择颜色
            turtle.begin_fill()                                # 开始填充
            drawRect()
            turtle.end_fill()                                  # 结束填充
            turtle.right(36)
    
        turtle.done()
    
    
    if __name__ == '__main__':
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述

    2.5.2 实例演示-五角星

    # coding=utf-8
    import turtle
    import time
    
    turtle.pensize(5)
    turtle.pencolor("yellow")
    turtle.fillcolor("red")
    
    turtle.begin_fill()
    for _ in range(5):
      turtle.forward(200)
      turtle.right(144)
    turtle.end_fill()
    time.sleep(2)
    
    turtle.penup()
    turtle.goto(-150, -120)
    turtle.color("violet")
    turtle.write("Done", font=('Arial', 40, 'normal'))
    
    turtle.done()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    在这里插入图片描述

    2.5.3 实例演示-将文字显示为一个圆圈

    #将文字显示为一个圆圈
    import turtle
    text = "醉后不知天在水,满船清梦压星河"
    turtle.penup()          # 可简写为pu
    x = len(text)
    for i in text:
        turtle.write(i, font='consolas')
        turtle.right(360/x)  # 可简写为rt
        turtle.penup()
        turtle.forward(30)   # 可简写为fd
    turtle.hideturtle()
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    2.5.4 实例演示-时钟

    # coding=utf-8
    
    import turtle
    from datetime import *
    
    # 抬起画笔,向前运动一段距离放下
    
    
    def Skip(step):
        turtle.penup()
        turtle.forward(step)
        turtle.pendown()
    
    
    def mkHand(name, length):
        # 注册Turtle形状,建立表针Turtle
        turtle.reset()
        Skip(-length * 0.1)
        # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
        turtle.begin_poly()
        turtle.forward(length * 1.1)
        # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
        turtle.end_poly()
        # 返回最后记录的多边形。
        handForm = turtle.get_poly()
        turtle.register_shape(name, handForm)
    
    
    def Init():
        global secHand, minHand, hurHand, printer
        # 重置Turtle指向北
        turtle.mode("logo")
        # 建立三个表针Turtle并初始化
        mkHand("secHand", 135)
        mkHand("minHand", 125)
        mkHand("hurHand", 90)
        secHand = turtle.Turtle()
        secHand.shape("secHand")
        minHand = turtle.Turtle()
        minHand.shape("minHand")
        hurHand = turtle.Turtle()
        hurHand.shape("hurHand")
    
        for hand in secHand, minHand, hurHand:
            hand.shapesize(1, 1, 3)
            hand.speed(0)
    
        # 建立输出文字Turtle
        printer = turtle.Turtle()
        # 隐藏画笔的turtle形状
        printer.hideturtle()
        printer.penup()
    
    
    def SetupClock(radius):
        # 建立表的外框
        turtle.reset()
        turtle.pensize(7)
        for i in range(60):
            Skip(radius)
            if i % 5 == 0:
                turtle.forward(20)
                Skip(-radius - 20)
    
                Skip(radius + 20)
                if i == 0:
                    turtle.write(int(12), align="center",
                                 font=("Courier", 14, "bold"))
                elif i == 30:
                    Skip(25)
                    turtle.write(int(i/5), align="center",
                                 font=("Courier", 14, "bold"))
                    Skip(-25)
                elif (i == 25 or i == 35):
                    Skip(20)
                    turtle.write(int(i/5), align="center",
                                 font=("Courier", 14, "bold"))
                    Skip(-20)
                else:
                    turtle.write(int(i/5), align="center",
                                 font=("Courier", 14, "bold"))
                Skip(-radius - 20)
            else:
                turtle.dot(5)
                Skip(-radius)
            turtle.right(6)
    
    
    def Week(t):
        week = ["星期一", "星期二", "星期三",
                "星期四", "星期五", "星期六", "星期日"]
        return week[t.weekday()]
    
    
    def Date(t):
        y = t.year
        m = t.month
        d = t.day
        return "%s %d%d" % (y, m, d)
    
    
    def Tick():
        # 绘制表针的动态显示
        t = datetime.today()
        second = t.second + t.microsecond * 0.000001
        minute = t.minute + second / 60.0
        hour = t.hour + minute / 60.0
        secHand.setheading(6 * second)
        minHand.setheading(6 * minute)
        hurHand.setheading(30 * hour)
    
        turtle.tracer(False)
        printer.forward(65)
        printer.write(Week(t), align="center",
                      font=("Courier", 14, "bold"))
        printer.back(130)
        printer.write(Date(t), align="center",
                      font=("Courier", 14, "bold"))
        printer.home()
        turtle.tracer(True)
    
        # 100ms后继续调用tick
        turtle.ontimer(Tick, 100)
    
    
    def main():
        # 打开/关闭龟动画,并为更新图纸设置延迟。
        turtle.tracer(False)
        Init()
        SetupClock(160)
        turtle.tracer(True)
        Tick()
        turtle.mainloop()
    
    
    if __name__ == "__main__":
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138

    在这里插入图片描述

    3. 参考文献

    《Python绘图Turtle库详解》:https://blog.csdn.net/zengxiantao1994/article/details/76588580
    《Python易学就会(三)turtle绘图》:https://blog.csdn.net/weixin_34050427/article/details/88677104
    《python—turtle库的基本介绍》:https://zhuanlan.zhihu.com/p/64594462
    《Turtle代码功能详解一》:https://blog.csdn.net/weixin_44527588/article/details/98302740
    《setup和screensize》:https://blog.csdn.net/piglite/article/details/105332460
    《Python turtle.write()用法及代码示例》:https://vimsky.com/examples/usage/turtle-write-function-in-python.html
    《turtle.write方法使用说明》:https://blog.csdn.net/cnds123/article/details/113915180

  • 相关阅读:
    元宇宙007 | 沉浸式家庭治疗,让治疗像演情景剧一样!
    dreamweaver网页设计作业制作 学生个人网页单页 WEB静态网页作业模板 大学生个人主页博客网页代码 dw个人网页作业成品简单页面
    【无标题】
    python父类子类的继承和覆写的区别以及通过代码进行讲解
    TS7031: Binding element ‘role‘ implicitly has an ‘any‘ type.
    导出excel报错:fontConfigiration错误
    Flutter快学快用18 项目实战:实践 Flutter 交友功能
    彻底搞懂nodejs事件循环
    【Java学习Note】第8章 多线程
    设计一个简单的devops系统
  • 原文地址:https://blog.csdn.net/m0_56126722/article/details/123018395