文章分类 -  python91个建议

设计模式:python版代码实现
该文被密码保护。

posted @ 2018-02-13 10:31 myworldworld 阅读(1) 评论(0) 推荐(0) 编辑

建议50:单例模式---多线程环境
摘要:修改__new__: 装饰器: 可以使用hasattr(cls, '_instance')判断,cls是否有_instance属性,决定是否构造实例。 也可以定义类变量_instance,判断cls的类变量_instance是否为None,决定是否构造实例。 也可以定义类变量objs为字典,判断cl 阅读全文

posted @ 2018-02-12 15:57 myworldworld 阅读(139) 评论(0) 推荐(0) 编辑

建议 52:用发布订阅模式实现松耦合
摘要:建议 52:用发布订阅模式实现松耦合 发布订阅模式是一种编程模式,消息的发送者不会发送其消息给特定的接收者,而是将发布的消息分为不同的类别直接发布,并不关注订阅者是谁。而订阅者可以对一个或多个类别感兴趣,且只接收感兴趣的消息,并且不关注是哪个发布者发布的消息。要实现这个模式,就需要一个中间代理人 B 阅读全文

posted @ 2018-02-11 13:34 myworldworld 阅读(185) 评论(0) 推荐(0) 编辑

建议 51:用 mixin 模式让程序更加灵活
摘要:建议 51:用 mixin 模式让程序更加灵活 模板方法模式就是在一个方法中定义一个算法的骨架,并将一些实现步骤延迟到子类中。模板方法可以使子类在不改变算法结构的情况下,重新定义算法中的某些步骤。 来看一个例子: 显然get_teapot()方法并不需要预先定义,也就是说我们的基类不需要预先申明抽象 阅读全文

posted @ 2018-02-11 13:28 myworldworld 阅读(206) 评论(0) 推荐(0) 编辑

建议50:python中的单实例(二)
摘要:#-*- encoding=utf-8 -*- print '----------------------方法1--------------------------' #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_instance上, #如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回 #如果cls._instance不... 阅读全文

posted @ 2018-02-11 13:08 myworldworld 阅读(90) 评论(0) 推荐(0) 编辑

建议50:Python 中的单例模式
摘要:一、利用模块实现单例模式 满足单例模式的 3 个需求: 只能有一个实例 必须自行创建这个实例 必须自行向整个系统提供这个实例 只能有一个实例 必须自行创建这个实例 必须自行向整个系统提供这个实例 下面我们使用 Python 实现一个带锁的单例: 当然这种方案也存在问题: 如果 Singleton 的 阅读全文

posted @ 2018-02-11 11:06 myworldworld 阅读(158) 评论(0) 推荐(0) 编辑

python数据类型35个技巧:列表、字典、集合、迭代器、生成器
摘要:1.1 拆箱 a, b, c = 1, 2, 3 a, b, c = [1, 2, 3] a, b, c = (2 * i + 1 for i in range(3)) a, (b, c), d = [1, (2, 3), 4]>>>返回a, 1; b, 2; c, 3 1.2 拆箱变量交换 a, 阅读全文

posted @ 2017-04-26 12:39 myworldworld 阅读(150) 评论(0) 推荐(0) 编辑

改善python的91个建议(五):性能剖析与优化
摘要:第 8 章 性能剖析与优化 建议 79:了解代码优化的基本原则 代码优化是指在不改变程序运行结果的前提下使得程序运行的效率更高,优化的代码意味着代运行速度更快或者占用的资源更少。 优先保证代码是可工作的。 权衡优化的代价。 定义性能指标,集中力量解决首要问题。 不要忽略可读性。 建议 80:借助性能 阅读全文

posted @ 2014-04-11 19:54 myworldworld 阅读(511) 评论(0) 推荐(0) 编辑

改善python的91个建议(四): 使用工具辅助项目开发
摘要:Python 项目的开发过程,其实就是一个或多个包的开发过程,而这个开发过程又由包的安装、管理、测试和发布等多个节点构成,所以这是一个复杂的过程,使用工具进行辅助开发有利于减少流程损耗,提升生产力。本章将介绍几个常用的、先进的工具,比如 setuptools、pip、paster、nose 和 Fl 阅读全文

posted @ 2014-04-06 15:37 myworldworld 阅读(218) 评论(0) 推荐(0) 编辑

改善python的91个建议(三):内部机制
摘要:建议 50:利用模块实现单例模式 满足单例模式的 3 个需求: 只能有一个实例 必须自行创建这个实例 必须自行向整个系统提供这个实例 只能有一个实例 必须自行创建这个实例 必须自行向整个系统提供这个实例 下面我们使用 Python 实现一个带锁的单例: 当然这种方案也存在问题: 如果 Singlet 阅读全文

posted @ 2014-03-31 19:42 myworldworld 阅读(832) 评论(0) 推荐(1) 编辑

改善python的91个建议(二):库
摘要:sorted()函数:返回一个新的列表,原列表不变 列表的sort方法:原地修改列表,返回None sorted()函数:接受的参数,除了列表,其它的一元数组都可以,返回的都是一个新的列表 建议 39: 使用 Counter 进行计数统计 常见的计数统计可以使用dict、defaultdict、se 阅读全文

posted @ 2014-03-28 12:16 myworldworld 阅读(241) 评论(0) 推荐(0) 编辑

建议35:分清 staticmethod 和 classmethod 的适用场景
摘要::分清 staticmethod 和 classmethod 的适用场景 类方法: 如果我们想写一些仅仅与类交互而不是和实例交互的方法,我们可以在类外面写一个简单的方法来做这些,如下: 但是这样做就扩散了类代码的关系到类定义的外面。这种场景,我们应该使用类方法:即只在类中运行而不在实例中运行的方法 阅读全文

posted @ 2014-03-22 16:33 myworldworld 阅读(1815) 评论(0) 推荐(0) 编辑

改善python的91个建议(一)
摘要:1.理解pythonic 快排示例: 推荐深入学习 Flask、gevent 和 requests。 三元操作符:x if bool else y 通过适当添加空行使代码布局更为优雅、合理 建议 6:编写函数的 4 个原则 建议 7:将常量集中到一个文件 在 Python 中应当如何使用常量: 通过 阅读全文

posted @ 2014-03-21 11:18 myworldworld 阅读(223) 评论(0) 推荐(0) 编辑

91个建议未读的部分
该文被密码保护。

posted @ 2013-12-31 19:55 myworldworld 阅读(0) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示