海龟出场之前先选择一下Python开发工具。Python有很多开发工具,比较常见的有:
IDLE、Visual Studio Code (VS Code)、JupyterNotebook、IPython、Sublime Text、Atom、Vim、Emacs、PyCharm、Thonny。
这些工具各有优缺点,我推荐的是由爱沙尼亚的 Tartu 大学开发的Thonny,安装程序只有二十多MB,自带Python,配置简单,尤其是方便调试函数,方便查看变量值。
一、Thonny简介
安装时你可以一路Next,基本没啥问题,运行后如果安装结束时没有选择中文,是英文界面,可以修改为中文。
在Tools菜单的最下面有Options...(不是本人打字错误,打出了省略号,菜单里就是那样的),在弹出的Thonny options窗口中找到第一个下拉列表(Language),往下翻,选择简体中文,关闭重启即可。
在正式开始之前还要进行一项设置,关闭自动完成功能。
主要是为了刚刚学习时熟悉一下命令和语法。
在工具菜单下点击选项命令,再单击编辑器选项卡,按照下图红色框住的部分进行设置。
好了关闭选项窗口,看一下界面,非常简洁,最上面一行是Thonny标题栏,还会显示当前的程序和光标所在的行、列数。
第二行是菜单栏,不用废话了,菜单下面是工具栏,从左到右分别是:新建、打开、保存、运行、调试、步过、步进、步出、停止,最后一个算了,咱们先不参合。
第四行是打开的文件选项卡,选中的高亮显示。
代码区,不用细讲了,有空看一下编辑菜单,并且尽量记住快捷键。
代码区下面是Shell(控制台),每次打开时都会显示目前使用的Python解释器在哪里,你在这里也可以单步执行Python命令。
万事俱备只欠东风了,下面有请海龟出场!
二、呼叫海龟turtle
现在把下面的代码复制一下,粘贴到你的代码区,再点击一下绿色的运行按钮。
import turtle # 导入turtle模块
turtle.shape('turtle') # 设置海龟形状为“Turtle”
turtle.speed(1) # 设置海龟绘图速度为1(最慢)
# 绘制正方形
turtle.pensize(5) # 设置画笔粗细为5
turtle.pencolor('red') # 设置画笔颜色为红色
turtle.forward(200) # 向前绘制200个单位
turtle.right(90) # 右转90度
turtle.forward(200) # 向前绘制200个单位
turtle.right(90) # 右转90度
turtle.forward(200) # 向前绘制200个单位
turtle.right(90) # 右转90度
turtle.forward(200) # 向前绘制200个单位
turtle.right(90) # 右转90度
# 移动到下一个绘图起点,准备绘制一个内切正方形
turtle.penup() # 抬起画笔,移动时不绘制
turtle.forward(50) # 向前移动50个单位
turtle.right(90) # 右转90度
turtle.forward(50) # 向前移动50个单位
turtle.left(90) # 左转90度
turtle.pendown() # 落下画笔,准备绘制
# 绘制内切正方形
turtle.forward(100) # 向前绘制100个单位
turtle.right(90) # 右转90度
turtle.forward(100) # 向前绘制100个单位
turtle.right(90) # 右转90度
turtle.forward(100) # 向前绘制100个单位
turtle.right(90) # 右转90度
turtle.forward(100) # 向前绘制100个单位
turtle.right(90) # 右转90度
# 清除当前绘图,准备绘制三角形
turtle.clear() # 清除画布
# 绘制三角形
turtle.pencolor('blue') # 设置画笔颜色为蓝色
turtle.forward(200) # 向前绘制200个单位
turtle.left(120) # 左转120度
turtle.forward(200) # 向前绘制200个单位
turtle.left(120) # 左转120度
turtle.forward(200) # 向前绘制200个单位
turtle.left(120) # 左转120度
# 清除当前绘图,准备绘制五角星
turtle.clear() # 清除画布
# 绘制五角星
turtle.pencolor('cyan') # 设置画笔颜色为红色
turtle.forward(200) # 向前绘制200个单位
turtle.right(144) # 右转144度
turtle.forward(200) # 向前绘制200个单位
turtle.right(144) # 右转144度
turtle.forward(200) # 向前绘制200个单位
turtle.right(144) # 右转144度
turtle.forward(200) # 向前绘制200个单位
turtle.right(144) # 右转144度
turtle.forward(200) # 向前绘制200个单位
turtle.right(144) # 右转144度
是不是有似曾相识的感觉?没错,这就是根据上一章视频里的代码稍稍改动了一下颜色的结果。
都看到海龟了吧,不过我看更像个蜘蛛。
每一行代码都有注释,我想你仔细读一下没什么问题,今天只讲一个语句import。
为了讲解方便下面还会经常用到turtle.forward(200)和turtle.left(90),意思就是向前绘制200个像数,向左转90度,这样大家可以观察程序执行结果。
在 Python 中,import 是一个用于引入模块的关键字。模块是包含 Python 代码的文件,可以是函数、类、变量或可执行语句的集合。通过使用 import 语句,你可以在一个 Python 文件(脚本)中使用其他文件中定义的功能,从而实现代码的重用和组织。
主要功能有3个:
代码重用:通过导入模块,可以在多个程序中重用已有的代码,而无需重复编写。
组织结构:将相关的功能封装在模块中,有助于管理和维护代码,特别是大型项目。
使用标准库或第三方模块:Python 提供了大量的标准库(如 math, datetime, turtle, os 等),通过 import 可以轻松利用这些库中的强大功能。
使用 import
语句还可以有效地扩展 Python 的功能,使得 Python 语言更加灵活和强大。通过引用外部模块,开发者能够更快速地构建功能丰富的应用程序。
import 有三种用法,第一种是导入整个模块,第二种是给模块或函数定义别名,第三种是导入模块中的特定函数或类。下面以导入海龟模块turtle为例介绍一下。
1、导入整个模块,import turtle
import turtle
turtle.forward(200)
turtle.left(120)
turtle.forward(200)
turtle.left(120)
turtle.forward(200)
把这两代码粘贴到代码区,执行一下,你会看到一个向右的箭头。这种写法有个弊病,一共写了6次turtle,每次6个字母,太麻烦了,能不能简单一点呢?
2、给模块起别名,import turtle as t
import turtle as t
t.forward(200)
t.left(120)
t.forward(200)
t.left(120)
t.forward(200)
怎么样?爽不爽?还有更简单的,继续看。
3、导入指定的类或函数
from turtle import forward,left
forward(200)
left(120)
forward(200)
left(120)
forward(200)
left(120)
怎么样,这下连t.都省了。
不过在第一行写出了需要所有的函数名,也挺麻烦的,有办法吗?请继续!
4、一次导入模块中全部对象,from turtle import *
from turtle import *
forward(200)
left(120)
forward(200)
left(120)
forward(200)
left(120)
代码是不是更简单了?不过这样也存在问题,当你使用多个模块时容易出现命名冲突问题,这个以后有机会再讲,下面讲一下第五种用法。
5、导入类,创建对象
from turtle import Turtle
t = Turtle()
t.forward(200)
t.left(120)
t.forward(200)
t.left(120)
t.forward(200)
t.left(120)
这种方法稍微麻烦一点,但是比较严谨,还可以创建多个海龟。
from turtle import Turtle
t1 = Turtle()
t1.forward(200)
t1.left(120)
t1.forward(200)
t1.left(120)
t1.forward(200)
t1.left(120)
t2 = Turtle()
t2.forward(150)
t2.left(120)
t2.forward(100)
t2.left(120)
t2.forward(100)
t2.left(120)
三、练习
1、请你找出错误的导入命令
A、import turtle
B、import turtle as t
C、from turtle import forward,left
D、from turtle import
2、画出一个边长的200像素的六边形
看到这里了,大家试一试在评论区写出答案吧。下期公布答案哦。