Python turtle库详解
Python turtle库详解
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
调用 turtle
import turtle
设置窗口大小
// turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
turtle.setup(300,200)
画笔
设置画笔的宽度
turtle.pensize()
设置画笔的颜色
turtle.pencolor()
设置画笔的移动速度
turtle.speed(speed) // 速度范围在【0,10】,数字越大越快
设置窗口大小
turtle.setup(width,height,startx,starty)
-setup() 设置窗体的位置和大小
相对于桌面的起始点的坐标以及窗口的宽度高度,若不写窗口的起始点,则默认在桌面的正中心
窗体的坐标原点默认在窗口的中心
绝对坐标
turtle.goto(100,100)
指从当前的点指向括号内所给坐标
海龟坐标,把当前点当做坐标,有前方向,后方向,左方向,右方向
turtle.fd(d)
指沿着海龟的前方向运行
turtle.bk(d)
指沿着海龟的反方向运行
turtle.circle(r,angle)
指沿着海龟左侧的某一点做圆运动
绝对角度
turtle.seth(angle)
只改变海龟的行进方向(角度按逆时针),但不行进,angle为绝对度数
• 海龟角度
turtle.left(angle)
turtle.right(angle)
绘画命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:
一种为运动命令,
一种为画笔控制命令,
一种是全局控制命令。
画笔运动命令
|
命令 |
说明 |
|
turtle.forward(distance) |
向当前画笔方向移动distance像素长度 |
|
turtle.backward(distance) |
向当前画笔相反方向移动distance像素长度 |
|
turtle.right(degree) |
顺时针移动degree° |
|
turtle.left(degree) |
逆时针移动degree° |
|
turtle.pendown() |
移动时绘制图形,缺省时也为绘制 |
|
turtle.goto(x,y) |
将画笔移动到坐标为x,y的位置 |
|
turtle.penup() |
提起笔移动,不绘制图形,用于另起一个地方绘制 |
|
turtle.circle() |
画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 |
|
setx( ) |
将当前x轴移动到指定位置 |
|
sety( ) |
将当前y轴移动到指定位置 |
|
setheading(angle) |
设置当前朝向为angle角度 |
|
home() |
设置当前画笔位置为原点,朝向东。 |
|
dot(r) |
绘制一个指定直径和颜色的圆点 |
画笔控制命令
|
命令 |
说明 |
|
turtle.fillcolor(colorstring) |
绘制图形的填充颜色 |
|
turtle.color(color1, color2) |
同时设置pencolor=color1, fillcolor=color2 |
|
turtle.filling() |
返回当前是否在填充状态 |
|
turtle.begin_fill() |
准备开始填充图形 |
|
turtle.end_fill() |
填充完成 |
|
turtle.hideturtle() |
隐藏画笔的turtle形状 |
|
turtle.showturtle() |
显示画笔的turtle形状 |
全局控制命令
|
命令 |
说明 |
|
turtle.clear() |
清空turtle窗口,但是turtle的位置和状态不会改变 |
|
turtle.reset() |
清空窗口,重置turtle状态为起始状态 |
|
turtle.undo() |
撤销上一个turtle动作 |
|
turtle.isvisible() |
返回当前turtle是否可见 |
|
stamp() |
复制当前图形 |
|
turtle.write(s [,font=("font-name",font_size,"font_type")]) |
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 |
其他命令
|
命令 |
说明 |
|||||||||
|
turtle.mainloop()或turtle.done() |
启动事件循环 -调用Tkinter的mainloop函数。 必须是乌龟图形程序中的最后一个语句。 |
|||||||||
|
turtle.mode(mode=None) |
设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。
|
|||||||||
|
turtle.delay(delay=None) |
设置或返回以毫秒为单位的绘图延迟。 |
|||||||||
|
turtle.begin_poly() |
开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。 |
|||||||||
|
turtle.end_poly() |
停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。 |
|||||||||
|
turtle.get_poly() |
返回最后记录的多边形。 |
命令详解
turtle.circle(radius, extent=None, steps=None)
描述:以给定半径画圆
参数:
radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。
举例:
circle(50) # 整圆;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圆
Python turtle库详解的更多相关文章
- Python绘图之Turtle库详解(1)
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- Python画图库Turtle库详解篇
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- Python optparser库详解
一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常的使用了.废话不多说,开始今天的分享吧. 简介 optparse模块主要用 ...
- python turtle库的几个小demo
一.先上图 一个同切圆和五角星 上代码 import turtle #同切圆 turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle. ...
- Python爬虫系列-Urllib库详解
Urllib库详解 Python内置的Http请求库: * urllib.request 请求模块 * urllib.error 异常处理模块 * urllib.parse url解析模块 * url ...
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. ...
- Python--urllib3库详解1
Python--urllib3库详解1 Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库,许多Python的原生系统已经开始使用urllib3.Urllib3提供了很多pyt ...
- python/ORM操作详解
一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...
- Python开发技术详解PDF
Python开发技术详解(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1F5J9mFfHKgwhkC5KuPd0Pw 提取码:xxy3 复制这段内容后打开百度网盘手 ...
随机推荐
- idea 添加 开发者信息
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse( ...
- 配置maven时,报JAVA_HOME错误
其实原因很简单,是之前java的jdk配置不合规范! 一.我是win10系统. 二.我的java jdk放在D盘,环境变量里,JAVA_HOME是D:\Program Files\Java\jdk1. ...
- django学习 session保持登录,且登出
学一点记一点 刚刚进来的时候突然发现,博客园的主页在缩小的时候会发生一些挤压,有点意思 今天刚看了session,感觉之前太迷茫,把问题想得过于复杂了. 我这个是建立在有登录和注册的功能上的演示. 首 ...
- 154.Ajax处理csrf防御
在普通的form表单中采用post请求提交数据,可以在form表单的method=post的form标签下面,添加一个csrf_token标签{% csrf_token %},或者是直接手动的添加一个 ...
- android studio编译包真机安装失败解决方案记录
Android studio升级到3.0之后,编译的APK文件无法在真机上安装,提示安装失败,最开始以为是API版本过高,与手机的版本不兼容,然后降低API,结果依然是安装失败. 然后连接手机,直接调 ...
- opencv3.2.0+opencv_contrib-3.2.0+vs2015相关文件的配置
包含目录:E:\opencvcontrib\opencv\sources\build\install\include\opencv E:\opencvcontrib\opencv\sources\bu ...
- sort函数的用法(C++排序库函数的调用)
对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了. (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c+ ...
- ASP.NET MVC 获取表单数据
public class Person { public string Name{get;set;} public string Phone{get;set;} } view层 @model Mode ...
- java Map 迭代key,value 最简洁的方法
import java.util.HashMap; import java.util.Map; public class EntrySets { public static void main(Str ...
- 简单的xss注入和防御
什么是xss注入: xss通常就是通过巧妙的方法注入指令到指定页面,使用户加载执行的恶意的js(或者其他类型)的代码,攻击者会获取用户的一系列信息,如cookie等,从而进行其他用户信息的盗取 为什么 ...