文章目录
  1. 1. 安装python
  2. 2. 解决错误
  3. 3. 代码解析

学习前端之余偶尔想换个口味,都说python是一门非常灵活的轻量级脚本语言,今天就来尝尝鲜。

python语言的前世今生及其详细介绍在此就略过了,直接开撸

安装python

Python官网下载所需的版本,建议选择3.x版本
选择平台:windows,64位,开始下载
双击安装(建议不要更改默认安装位置)。
安装结束时,会出现是否添加到环境变量的选项,这个选项非常重要,务必打上勾。

简单了解一下语法部分,开始进入正题:用turtle画一个logo

python安装时自带了一个shell工具,叫IDLE。

打开它,ctrl+n新建一个python文件,代码部分将会写在这里

PS:可以选择其它工具,或者直接在命令行里编写运行也是可以的,只要不嫌麻烦。

至此所有的工具已经准备完毕,可以写东西了,这里选择python的logo下手,画一条小蛇
python的Logo,下面有一条小蛇
代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import turtle

def drawSnake(rad, angle, len, neckrad):
for i in range(len):
turtle.circle(rad,angle) #运行轨迹左侧rad远的地 方绘制圆
turtle.circle(-rad,angle) #运行轨迹右侧rad远的 地方绘制圆
turtle.circle(rad,angle/2)
turtle.fd(rad)
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)

def main():
turtle.setup(1300,800,50,50)#程序启动窗口的大小和位置(从左上角的位置),该窗口的左上角为屏幕的左上角
pythonsize=30
turtle.pensize(pythonsize) #程序中绘制图片的宽度
turtle.pencolor("blue") #程序中绘制图形的颜色
turtle.seth(-40) #绘图程序运行时启动的方向
drawSnack(40, 80, 5, pythonsize/2)

main()

解决错误

f5运行脚本。这里报了一个错误
(若有老手应该直接就看出哪里不对了,直接跳过吧o(∩_∩)o哈哈)

1
2
3
4
Traceback (most recent call last):
File "C:/Users/.../python.py", line 19, in <module>
drawSnack(40, 80, 5, pythonsize/2)
NameError: name 'drawSnack' is not defined

我一开始没有认真阅读错误提示,想当然就认为是因为没有安装turtle库导致的,然后想办法安装它。网上查资料,python集成了一个叫pip的包管理工具,它可以安装第三方模块

运行命令

1
pip install turtle

杯具来了,又报了个错误,它告诉我Complete output from command python setup.py egg_info是个无效语法,于是又尝试使用easy_install turtle来安装turtle,同样报了一个类似的错误。
这就奇怪了。
试着安装一些其它的库,是可以成功安装的,于是得出解决问题的思路:

  1. 这个库是不需要额外安装的,是其它地方出错了
  2. 库自身的问题所导致

第二种情况过于复杂,且网上并没有相关的案例,所以优先尝试第一种思路

再次查看错误信息。好嘛,人家直接就说了是drawSnack这个函数的问题,并不是库没有成功引入。

1
NameError: name 'drawSnack' is not defined

再次查看代码,果不其然,我把snake(蛇)拼成了snack(点心)
我的粗心害我浪费了一个小时!

正印证了我今天看到的一句非常有道理的话:

一般越用时久的问题,自己犯的错误越蠢

来自知乎:调试一段代码两个小时都没搞定,继续死磕还是寻找其他方式?评论区

改正后再次f5运行代码,这时我所需要的小蛇就被缓缓地绘制了出来

代码解析

import的导入和def xxx():的意思就不解释了,Python基本语法。值得注意的是python是用缩进语法表示层级的

按照惯例,我们应该从代码的运行顺序开始解析

这里的turtle.setup(1300,800,50,50)注释里已经写得很明白了,前两者决定启动窗口的宽高,后两者决定启动窗口的位置

turtle.pensize()函数决定了画笔运行的宽度,这里我们先用了一个pythonSize变量来定义,然后把这个变量代入

turtle.pencolor("blue"),画笔颜色,这里的参数也可用rgb表示,比如#0f0

turtle.seth(-40)表示画笔运行的方向,这里用来表示的参数是一个角度值。对角度值的解释见下图:

负值就表示相反的方向。

定义完画布和画笔,再调用drawSnake函数来画图。下面是这个函数的代码解析

在以len为次数的循环中,turtle.circle函数的意思是让画笔画圆,它的第一个参数定义了圆形轨迹半径的位置,第二个参数表示运行的弧度值。

如此循环数次,就可以画出一条波浪线了。

turtle.fd()全名是turtle.forword(),它表示画笔向前直线运行,它的参数定义了运行的距离

至此,绘制小蛇所用到的所有知识点都已经解析完毕。尝试修改并利用这些函数,可以轻松画出更多图形

文章目录
  1. 1. 安装python
  2. 2. 解决错误
  3. 3. 代码解析