摘要: 十、序列的修改、散列和切片 不要检查它是不是鸭子、它的叫声像不像鸭子、它的走路姿势像不像鸭子,等等。具体检查什么取决于你想使用语言的哪些行为。(comp.lang.python,2000 年 7月 26 日) ——Alex Martelli 多维向量 In [20]: from array impo 阅读全文
posted @ 2021-09-27 19:13 pythoner_wl 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 八、对象引用、可变性和垃圾回收 每个变量都有标识、类型和值。对象一旦创建,它的标识绝不会变;可以把标识理解为对象在内存中的地址。is运算符比较两个对象的标识;id() 函数返回对象标识的整数表示。 每个 Python 对象都有标识、类型和值。只有对象的值会不时变化。 作者:其实,对象的类型也可以变, 阅读全文
posted @ 2021-09-27 19:11 pythoner_wl 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 九、符合 python 风格的对象 绝对不要使用两个前导下划线,这是很烦人的自私行为。 ​ ——Ian Bicking ​ pip、virtualenv 和 Paste 等项目的创建者 得益于 python 数据模型,自定义类型的行为可以像内置类型那样自然。实现如此自然的行为,靠的不是继承,而是鸭子 阅读全文
posted @ 2021-09-27 19:11 pythoner_wl 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 七、函数装饰器和闭包 nonlocal @decorate def target(): print('running target()') 等同于 def target(): print('running target()') target = decorate(target) 综上,装饰器的一大特 阅读全文
posted @ 2021-09-27 19:10 pythoner_wl 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 六、使用一等函数实现设计模式 符合模式并不表示做得对。 ——Ralph Johnson ​ 经典的《设计模式:可复用面向对象软件的基础》的作者之一 策略模式 订单 order 折扣策略,比如有三种 Promotion是策略基类,下面三个是具体实现的折扣策略 上下文 把一些计算委托给实现不同算法的可互 阅读全文
posted @ 2021-09-27 19:09 pythoner_wl 阅读(77) 评论(0) 推荐(0) 编辑