《像计算机科学家一样思考Python》——4.4 封装
本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第4章,第4.4节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
4.4 封装
第一个练习要求你把画正方形的代码放到一个函数定义中,并将乌龟bob作为实参传入,调用该函数。下面是一个解答:
def square(t):for i in range(4):fd(t, 100)lt(t)square(bob)
最内侧的语句,fd和lt都缩进了两层,表示它们是在for语句的语句体内部,而for语句在函数定义的函数体内部。最后一行,square(bob),又重新从左侧开始而没有缩进,所以这里for语句和square函数的定义都已经结束了。
在函数体中,t引用的乌龟和bob引用的相同,所以lt(t)和直接调用lt(bob)是一样的效果。那么为什么不直接把形参写为bob呢?原因是t可以是任何乌龟,而不仅仅是bob,所以你可以再新建一只乌龟,并将它作为参数传入到square函数:
ray = Turtle()
square(ray)
把一段代码用函数包裹起来,称为封装(encapsulation)。封装的一个好处是,它给这段代码一个有意义的名称,增加了可读性。另一个好处是,当你重复使用这段代码时,调用一次函数比复制粘贴代码要简易得多!
《像计算机科学家一样思考Python》——4.4 封装相关推荐
- 《像计算机科学家一样思考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.1 乌龟世界...
本节书摘来自异步社区<像计算机科学家一样思考Python>一书中的第4章,第4.1节,作者[美]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 运行时错误 ...
- 像科学家一样思考python_像计算机科学家一样思考Python (第2版) 中文pdf完整版
本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯穿全书的主体是如何思考.设计.开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介. 全书共21章,详细介绍Pyt ...
- 像计算机科学家一样思考python
18 继承(inheritance) 继承 是面向对象编程 的一种语言特性: 它能 通过对现有的某个类稍作修改的方式 定义一个新的类. 现有的类 称为 父类, 新的类 称为子类. 之所以被称为 继承, ...
最新文章
- python logging logger
- Linux下LAMP环境的安装之编译安装过程(五)
- 2018年安卓绿色联盟数据报告
- 复合火焰探测传感器_火灾探测器分类
- vue实现Excel文件的上传与下载
- php __FILE__,__CLASS__等魔术变量,及实例
- 第三节 整型和浮点型
- 利用zabbix监控mysqldump定时备份数据库是否成功 乐维君
- Makefile详解(六)
- 2019年区块链多币种钱包建设的安全性与可用性
- python 两个list 求交集,并集,差集
- c语言可以设计系统嘛,C语言自主学习系统设计与实现.doc
- 使用python调用openmpi编译的MPI 动态库报错:mca_base_component_repository_open: unable to open mca_patcher_overwri
- excel统计填充色单元格数
- graphpad做单因素方差分析_GraphPad中国官网 - Prism 8 统计指南 - 单因素方差分析
- JS中promise是什么?
- Excel神器之xlwings的安装
- PaddlePaddle tutorial Ⅰ——Multiple linear regression
- 数据库可视化工具 dbForge Studio for MySQL 快速入门以及进阶指导
- 0017-量化第四天:QMT—指数增强回测算法注释学习
热门文章
- 删除苹果自带软件后果_使用adb命令删除手机软件(包括系统自带)
- 忘了微信密码怎么办_微信支付密码怎么改?微信支付密码忘了怎么办?详细教程来了!...
- 运行loadrunner自带的webtour项目无法启动
- java 实现复制_在java中如何实现复制,粘贴,剪切
- 小白也能看得懂的服务端性能测试指标及问题排查
- python中文分词统计_python 实现中文分词统计
- python顺序查找的递归算法_Python实现查找算法
- 计算机应用基础165791,人大网大计算机应用基础试题答案资料.doc
- html在线测试 css,HTML+CSS测试
- sublime press key “escape” can't type anything