美文网首页
Python: yield, turtle

Python: yield, turtle

作者: Wallace_QIAN | 来源:发表于2017-09-08 15:18 被阅读40次
    1.yield

    yield,丫的就是一个迭代器,相当于每次调用一个next()方法,但不会返回一个整体的迭代结果,这样平衡了以下两种情况对运算和内存的影响:

    ①print大法,比如我们需要一个杨辉三角,用print大法不给return值,导致得到的结果无法复用,这对函数的出现对电脑的好处进行了毫不留情的抹杀。

    ②return值,还是拿杨辉三角来举例,我们写了一个函数YHtriangle(n)

    在这个函数中返回了一个n行的杨辉三角的值,也许是一个list,也可以是二维数组,也可以是tuple...总之我们返回了一个n行的数组

    举例,当n=100时,该collection中一共有(1+100)*100/2=5050个元素,可想而知,这对内存的占用是比较大的

    所以我们有了yield,每次迭代一次,返回的是一个generator,这样并不立即获得全部的结果,又满足了复用的要求

    def yield_demo(n):
        for i in range(n):
            yield i
            print('i:',i)
        
    
    for i in yield_demo(5):
        print('yield i:',i)
        print('-'*10)
    

    所以我们yield单次循环,执行到yield即返回genrator
    第二次循环从yield下一单步开始执行

    2.Turtle

    Python Tutorial Introduction:Turtle graphics is a popular way for introducing programming to kids.
    那么问题来了,比较流行的向妹子介绍编程的方式是什么呢?


    不得不说,Turtle是很强大的一个简单绘制工具,类似于Android中的Canvas和ObjectAnimations
    Introduction:
    turtle module 是需要导入的
    import turtle
    再说使用的可行性,turtle基于tkinter,所以在Version 2.5之后就可以使用了
    ·TurtleScreen类定义了一个绘画的面板,需要一个tkinter.canvas或者ScrolledCanvas类作为参数
    ·screen()函数返回一个TurtleScreen的子类实例

    RawTurtle定义了绘制在面板上的Turtle Objects
    RawTurtle源自于Turtle(别名pen)是画笔

    Some popular functions:

    1.position() or pos()
    turtle.position()// Return current location of turtle
    想想Turtle是一个机器人或者画笔,它的位置就是笔尖的位置
    2.color()
    画笔颜色,very clear
    3.forward() or fd()
    向目前turtle朝向的方向走指定的绝对距离
    同样的函数,参见:
    back() or bk()
    right() or rt()
    left() or lt()
    3.setX() and setY()
    设定turtle的起始坐标,默认为:(0.00,0.00)
    4.color(), color(color)
    空参的color()返回一个color(画笔颜色)的RGB
    color(Red)
    color(#666666)
    通过default颜色和RGB都可以设定color
    color(color1,color2)
    color1是画笔颜色
    color2是填充颜色
    5.pendown(),penup()
    Drawing when moving
    No drawing when moving
    6.done()
    start event loop
    7....不想写了自己看上面的tutorial吧

    相关文章

      网友评论

          本文标题:Python: yield, turtle

          本文链接:https://www.haomeiwen.com/subject/iswgjxtx.html