《像计算机科学家一样思考Python》——第4章 案例研究:接口设计 4.1 乌龟世界...
本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.1节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第4章 案例研究:接口设计
4.1 乌龟世界
程序包(package)是多个模块的组合;Swampy中有一个模块“乌龟世界”(TurtleWorld),它提供各种函数,可以引导一只乌龟在屏幕上爬行,并画出其踪迹。
系统中安装好了Swampy之后,就可以像下面这样导入TurtleWorld模块:
from swampy.TurtleWorld import *
如果你下载了Swampy但并没有安装,则可以在其代码目录中使用,或者将其目录加入到Python的搜索路径中。接下来就可以这样导入TurtleWorld:
from TurtleWorld import *
安装过程的细节和如何设置Python的搜索路径,依赖于你所使用的系统。所以我在这里不细加讨论,而在http://thinkpython.com/swampy 里维护几种系统的相关安装信息。
创建一个文件mypolygon.py,并输入如下代码:
from swampy.TurtleWorld import *world = TurtleWorld()
bob = Turtle()
print bobwait_for_user()
第一行从swampy程序包的TurtleWorld模块里导入全部成员。
接下来几行建立一个TurtleWorld对象,赋值给变量world;建立一个Turtle对象,赋值给bob。
打印bob对象会得到如下信息:
<TurtleWorld.Turtle instance at 0xb7bfbf4c>
这意味着bob变量引用着TurtleWorld模块中定义的Turtle类的一个实例(instance)。在这个语境中,“实例”是指集合中的一员;bob这个Turtle对象是可能存在的所有Turtle的集合的一员。
wait_for_user告诉TurtleWorld等待用户进行某些操作,虽然现在除了关闭窗口之外,并没有提供给用户多少有用的操作。
TurtleWorld提供了几个用来指挥乌龟的函数:fd和bk用于前进和后退,lt和rt用于左转和右转。另外,每只乌龟都拿着一只笔,可以朝上或者朝下;若笔朝下,则会绘制出走过的路迹。函数pu和pd分别表示“笔朝上”(pen up)和“笔朝下”(pen down)。
若要画一个朝右的角,在程序中(建立bob实例之后,调用wait_for_user之前)添加如下代码:
fd(bob, 100)
lt(bob)
fd(bob, 100)
第一行告诉bob前进100步。第二行告诉它左拐。
当你运行这个程序时,将会看到bob先向东走,再向北走,身后留下两条线段。
现在试着修改程序,画出一个正方形来。在成功之前请不要继续!
《像计算机科学家一样思考Python》——第4章 案例研究:接口设计 4.1 乌龟世界...相关推荐
- 《像计算机科学家一样思考Python(第2版)》——2.6 字符串操作
本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.6节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...
- 《像计算机科学家一样思考Python》——3.9 变量和形参是局部的
本节书摘来自异步社区<像计算机科学家一样思考Python>一书中的第3章,第3.9节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区"异步社区 ...
- 《像计算机科学家一样思考Python》pdf
下载地址:网盘下载 内容简介 · · · · · · <像计算机科学家一样思考python>按照培养读者像计算机科学家一样的思维方式的思路来教授python语言编程.全书贯穿的主体是如何 ...
- 《像计算机科学家一样思考Python(第2版)》——2.7 注释
本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.7节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...
- 《像计算机科学家一样思考Python(第2版)》——1.3 第一个程序
本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第1章,第1.3节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...
- 《像计算机科学家一样思考Python》——4.4 封装
本节书摘来自异步社区<像计算机科学家一样思考Python>一书中的第4章,第4.4节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区"异步社区 ...
- 像计算机科学家一样思考python 百度网盘_像计算机科学家一样思考Python PDF_Python教程...
资源名称:像计算机科学家一样思考Python PDF 第1章 程序之道 1 1.1 Python编程语言 1 1.2 什么是程序 3 1.3 什么是调试 3 1.4 语法错误 3 1.5 运行时错误 ...
- 《Think Python 2e》作业实现(四): 案例研究—接口设计
<Think Python 2e>作业实现(四): 案例研究-接口设计 文章目录 <Think Python 2e>作业实现(四): 案例研究-接口设计 这是什么? 习题4-1 ...
- 像科学家一样思考python_像计算机科学家一样思考Python (第2版) 中文pdf完整版
本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主体是如何思考.设计.开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介. 全书共21章,详细介绍Pyt ...
最新文章
- SQL Server 2008 R2如何开启数据库的远程连接
- The number of Oracle redo threads (2) is not the same as the number of checkpoint threads (1)
- 教你从零开始使用wordpress做为后台生成小程序(小白版教程)
- 面试官问的hibernate和mybatis常见面试题
- 将Host Cobol批次和Monolith Webapps移动到云和微服务
- [html] HTML5如何使用音频和视频?
- 回声检测仿真信号matlab,杭州oracle培训入门
- 阻塞和非阻塞、同步和异步 、五种IO模型
- Android音频开发(2):如何采集一帧音频
- python强制退出循环_for循环、while循环、break跳出循环、continue结束本次循环、exit退出本次脚本...
- 拥2180亿美元收入 苹果成全球最大IT企业
- 本地计算机 策略在哪xp系统,本地组策略编辑器在哪 打开组策略管理器方法
- 如何在PlayStation 4上查看或清除浏览历史记录
- 简单神经网络手算笔记
- java高校墨香文学社管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- 使用JavaBean封装对数据库的访问、连接池的配置和使用
- Nim游戏和SG函数
- 有限元与深度学习结合求解泊松方程-Petrov
- HTTP 204和304的区别
- 设计一款CPU芯片到底有多难?
热门文章
- 一年之计在于春 给农业插上智慧翅膀
- 关于PDF转换成TXT转换器的运用
- 申请CA证书的费用大概是多少
- 联想android刷机教程,联想X2-TO(VIBE X2 移动4G 安卓5.0)一键刷机教程,看教程刷机...
- 淘宝小广告的鼠标移上实现html, JavaScript代码
- MediatR:轻松实现命令查询职责分离模式(CQRS)
- FPGA工程师是否有必要转ASIC设计工程师?哪个前景好?
- 利用pip安装软件时,加上-i 豆瓣源或清华源,飞速下载~
- c++gdal如何在大图像中截取小图像并获取其图像信息_盘点GAN在目标检测中的应用...
- 那是计算机管理员,计算机管理器中路由器管理器的管理员帐户是admin?