python初探,以及解决bug常用的排查思路
学习前端之余偶尔想换个口味,都说python是一门非常灵活的轻量级脚本语言,今天就来尝尝鲜。
python语言的前世今生及其详细介绍在此就略过了,直接开撸
安装python
到Python官网下载所需的版本,建议选择3.x版本
选择平台:windows,64位,开始下载
双击安装(建议不要更改默认安装位置)。
安装结束时,会出现是否添加到环境变量的选项,这个选项非常重要,务必打上勾。
简单了解一下语法部分,开始进入正题:用turtle画一个logo
python安装时自带了一个shell工具,叫IDLE。
打开它,ctrl+n新建一个python文件,代码部分将会写在这里
PS:可以选择其它工具,或者直接在命令行里编写运行也是可以的,只要不嫌麻烦。
至此所有的工具已经准备完毕,可以写东西了,这里选择python的logo下手,画一条小蛇
代码示例:
1 | import turtle |
解决错误
f5运行脚本。这里报了一个错误
(若有老手应该直接就看出哪里不对了,直接跳过吧o(∩_∩)o哈哈)
1 | Traceback (most recent call last): |
我一开始没有认真阅读错误提示,想当然就认为是因为没有安装turtle库导致的,然后想办法安装它。网上查资料,python集成了一个叫pip的包管理工具,它可以安装第三方模块
运行命令
1 | pip install turtle |
杯具来了,又报了个错误,它告诉我Complete output from command python setup.py egg_info是个无效语法,于是又尝试使用easy_install turtle来安装turtle,同样报了一个类似的错误。
这就奇怪了。
试着安装一些其它的库,是可以成功安装的,于是得出解决问题的思路:
- 这个库是不需要额外安装的,是其它地方出错了
- 库自身的问题所导致
第二种情况过于复杂,且网上并没有相关的案例,所以优先尝试第一种思路
再次查看错误信息。好嘛,人家直接就说了是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(),它表示画笔向前直线运行,它的参数定义了运行的距离
至此,绘制小蛇所用到的所有知识点都已经解析完毕。尝试修改并利用这些函数,可以轻松画出更多图形

