Python: yield, turtle

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吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,719评论 0 2
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,872评论 0 17
  • 千万不要因为喜欢我的诗歌就喜欢我如此美好的情愫你应该去现实的天空中涂抹 隔着长长的时空你阅读的那个不是我我的诗歌我...
    简JN阅读 2,981评论 20 22
  • 网红,一个随着网络发展兴起的名词!即网络红人的简称。“网络红人”是指在现实或者网络生活中因为某个事件或者某个行为而...
    强哥_d8c3阅读 3,349评论 0 0
  • 想的太多给我带来很多烦恼,阻挠我的行动。最近在看书和一些文章,觉得人家写的很好,也给我带来了一些灵感。我就想写下自...
    幸福的阿娇阅读 4,771评论 25 41

友情链接更多精彩内容