上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 如何让类支持比较操作 问题举例 有时我们希望自定义类的实例间可以使用<, <=, >, >=, ==, !=符号进行比较,我们自定义比较的行为。 比如,有一个矩形,比较两个矩形的实例时,我们希望比较的是面积。 比如,有一个矩形和一个圆形,我们希望比较一个矩形实例和一个圆形实例, 我们希望它们比较的是 阅读全文
posted @ 2019-05-01 22:34 可口可乐嗨 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 如何创建可管理的对象属性 问题举例 在面向对象编程中, 我们把方法看作对象的接口, 直接访问对象的属性可能是不安全的,或设计上不够灵活。 但是使用调用方法在形式上不如访问属性简洁。 circle.get_radius() circle.set_radius(5.0) #繁琐 circle.radiu 阅读全文
posted @ 2019-04-27 16:15 可口可乐嗨 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 如何让对象支持上下文管理 问题举例 一个telnet客户端的类TelnetClient, 调用实例的connect(),login(),interact方法 启动客户端与服务器交互,交互完毕后需要调用cleanup()方法,关闭已连接的socket, 以及将操作历史记录写入文件并关闭。 能否让Tel 阅读全文
posted @ 2019-04-27 15:53 可口可乐嗨 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 迭代器与可迭代对象 简述 迭代是数据处理的基石。扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项。这就是迭代器模式 迭代器 迭代器是这样一个对象,实现了无参数__next__方法,返回序列中的下一个元素, 如果没有元素了,那么抛出StopIteration异常 阅读全文
posted @ 2019-04-27 13:06 可口可乐嗨 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 如何为创建大量实例节省内存 问题举例 在网络游戏中,定义玩家类Player(id, name, level...), 每个玩家在线将创建一个Player实例,当在线人数很多时,将产生大量实例, 如何降低这些实例的内存开销? 分析 通过类创建的对象一般有一个__dict__属性,它是一个字典, 在添加 阅读全文
posted @ 2019-04-27 11:00 可口可乐嗨 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 如何派生内置不可变类型并修其改实例化行为 问题举例 自定义一种新类型的元组,对传入的可迭代对象,我们只保留 其中int类型且值大于0的元素,例如 IntTuple([1, -1, 'abc', 6, ['x', 'y'], 3]) => (1, 6, 3) 如何继承内置tuple实现IntTuple 阅读全文
posted @ 2019-04-27 10:23 可口可乐嗨 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 接口测试 简述 接口可以看作前后端之间的桥梁,负责前后端之间的数据传输 接口测试的目标是服务端程序;把服务端程序看出一个黑盒,用工具或脚本模拟客户端程序的工作; 像客户端一样去做封包和数据发送,在服务端返回信息时再像客户端一样去解包; 接口测试与功能测试 接口测试,自动化测试都是是功能测试的一种,都 阅读全文
posted @ 2019-04-27 09:51 可口可乐嗨 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 如何在一个for语句中迭代多个可迭代对象 问题举例 (1)某班学生期末考试成绩,语文,数学,英语分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分 (2)某年级有4个班,某次考试每班英语成绩分别存储在4个列表中,一次迭代每个列表,统计全学年成绩高于90分的人数 解决思路 (1)使用内置函数z 阅读全文
posted @ 2019-04-26 07:30 可口可乐嗨 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 如何对迭代器做切片操作 问题举例 读取某个文件内容的100~300行内容,我们是否可以使用 类似列表切片的方式得到一个100~300行文件内容的生成器 分析 列表的切片操作其实是在重载方法__getItem__方法 可以通过file.readlines()后再做切片,内存会加载整个文件到内存,如果文 阅读全文
posted @ 2019-04-26 07:04 可口可乐嗨 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 如何实现反向迭代 问题举例 实现一个连续浮点数发生器FloatRange,根据给定范围(start, end)和步进值(step) 产生一系列连续的浮点数,如FloatRange(3.0, 4.0, 0.2)可产生序列: 正向:3.0>3.2>3.4>3.6>3.8>4.0 反向:4.0>3.8>3 阅读全文
posted @ 2019-04-25 22:39 可口可乐嗨 阅读(916) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
levels of contents