
流畅的python
奇风484
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态属性和特性
动态属性和特性 在Python中,数据的属性和处理数据的方法统称属性(attribute)。其实,方法只是可调用的属性。除了这二者外,我们还可以创建特性(property),在不改变类接口的前提下,使用存取方法(即读值方法和设值方法)修改数据属性。 除了特性,Python还提供丰富的API,用于控制属性的访问权限,以及实现动态属性。使用点号访问属性(obj.attr),Python解释器会调用特殊...原创 2020-04-09 22:17:01 · 702 阅读 · 0 评论 -
可迭代的对象、迭代器和生成器
可迭代的对象、迭代器和生成器 序列可以迭代的原因:iter函数 解释器需要迭代对象x时,会自动调用iter(x)。 内置的iter函数有一下作用。 检查对象是否实现了__iter__,如果实现了就调用它,获取一个迭代器。 如果没有实现__iter__方法,但是实现__getitem__方法,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。 如果尝试失败,Python抛出Type...原创 2020-04-07 20:56:45 · 164 阅读 · 0 评论 -
对象引用、可变性和垃圾回收
对象引用、可变性和垃圾回收 变量不是盒子 变量不是盒子,而是便利贴,python是先创建对象然后再将变量赋值给对象,当创建对象之后,可以通过id查看对象的内存地址。 例如: class Gizmo: def __init__(self): print('Gizmo id: %d' % id(self)) if __name__ == '__main__': x =...原创 2020-04-06 20:50:17 · 205 阅读 · 0 评论 -
装饰器
第7章 函数装饰器与闭包 函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。 基础知识 装饰器的一大特性是, 能把被装饰的函数替换成其他函数。 第二个特性是, 装饰器 在加载模块时立即执行 例如: def deco(func): def inner(): print('running inner()') return inner # 等价于dec...原创 2020-04-05 17:12:24 · 148 阅读 · 0 评论