本节书摘来自异步社区《像计算机科学家一样思考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 乌龟世界...相关推荐

  1. 《像计算机科学家一样思考Python(第2版)》——2.6 字符串操作

    本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.6节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...

  2. 《像计算机科学家一样思考Python》——3.9 变量和形参是局部的

    本节书摘来自异步社区<像计算机科学家一样思考Python>一书中的第3章,第3.9节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区"异步社区 ...

  3. 《像计算机科学家一样思考Python》pdf

    下载地址:网盘下载 内容简介  · · · · · · <像计算机科学家一样思考python>按照培养读者像计算机科学家一样的思维方式的思路来教授python语言编程.全书贯穿的主体是如何 ...

  4. 《像计算机科学家一样思考Python(第2版)》——2.7 注释

    本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第2章,第2.7节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...

  5. 《像计算机科学家一样思考Python(第2版)》——1.3 第一个程序

    本节书摘来自异步社区<像计算机科学家一样思考Python(第2版)>一书中的第1章,第1.3节,作者[美] Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区&quo ...

  6. 《像计算机科学家一样思考Python》——4.4 封装

    本节书摘来自异步社区<像计算机科学家一样思考Python>一书中的第4章,第4.4节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区"异步社区 ...

  7. 像计算机科学家一样思考python 百度网盘_像计算机科学家一样思考Python PDF_Python教程...

    资源名称:像计算机科学家一样思考Python PDF 第1章 程序之道 1 1.1 Python编程语言 1 1.2 什么是程序 3 1.3 什么是调试 3 1.4 语法错误 3 1.5 运行时错误 ...

  8. 《Think Python 2e》作业实现(四): 案例研究—接口设计

    <Think Python 2e>作业实现(四): 案例研究-接口设计 文章目录 <Think Python 2e>作业实现(四): 案例研究-接口设计 这是什么? 习题4-1 ...

  9. 像科学家一样思考python_像计算机科学家一样思考Python (第2版) 中文pdf完整版

    本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主体是如何思考.设计.开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介. 全书共21章,详细介绍Pyt ...

最新文章

  1. SQL Server 2008 R2如何开启数据库的远程连接
  2. The number of Oracle redo threads (2) is not the same as the number of checkpoint threads (1)
  3. 教你从零开始使用wordpress做为后台生成小程序(小白版教程)
  4. 面试官问的hibernate和mybatis常见面试题
  5. 将Host Cobol批次和Monolith Webapps移动到云和微服务
  6. [html] HTML5如何使用音频和视频?
  7. 回声检测仿真信号matlab,杭州oracle培训入门
  8. 阻塞和非阻塞、同步和异步 、五种IO模型
  9. Android音频开发(2):如何采集一帧音频
  10. python强制退出循环_for循环、while循环、break跳出循环、continue结束本次循环、exit退出本次脚本...
  11. 拥2180亿美元收入 苹果成全球最大IT企业
  12. 本地计算机 策略在哪xp系统,本地组策略编辑器在哪 打开组策略管理器方法
  13. 如何在PlayStation 4上查看或清除浏览历史记录
  14. 简单神经网络手算笔记
  15. java高校墨香文学社管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  16. 使用JavaBean封装对数据库的访问、连接池的配置和使用
  17. Nim游戏和SG函数
  18. 有限元与深度学习结合求解泊松方程-Petrov
  19. HTTP 204和304的区别
  20. 设计一款CPU芯片到底有多难?

热门文章

  1. 一年之计在于春 给农业插上智慧翅膀
  2. 关于PDF转换成TXT转换器的运用
  3. 申请CA证书的费用大概是多少
  4. 联想android刷机教程,联想X2-TO(VIBE X2 移动4G 安卓5.0)一键刷机教程,看教程刷机...
  5. 淘宝小广告的鼠标移上实现html, JavaScript代码
  6. MediatR:轻松实现命令查询职责分离模式(CQRS)
  7. FPGA工程师是否有必要转ASIC设计工程师?哪个前景好?
  8. 利用pip安装软件时,加上-i 豆瓣源或清华源,飞速下载~
  9. c++gdal如何在大图像中截取小图像并获取其图像信息_盘点GAN在目标检测中的应用...
  10. 那是计算机管理员,计算机管理器中路由器管理器的管理员帐户是admin?