摘要: 如何创建可管理的对象属性 问题举例 在面向对象编程中, 我们把方法看作对象的接口, 直接访问对象的属性可能是不安全的,或设计上不够灵活。 但是使用调用方法在形式上不如访问属性简洁。 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) 编辑
levels of contents