python
文章平均质量分 85
J-Ombudsman
day day up
展开
-
new、init和metaclass
1,__new__和__init__方法:__new__方法限于新式类,是静态方法,且不是类方法,用来创建对象。__init__方法是普通方法,用来初始化对象。流程是(不完全正确): obj = classObj.__new__(classObj); type(obj).__init__(obj); (属性方法的访问,请参考前面的文章) 返回的obj可以和classObj没有任何关原创 2017-02-21 17:33:28 · 547 阅读 · 0 评论 -
python装饰器、with和contextmanager
1,装饰器: 装饰器是一种简单的记号而已,有如下等价的转换规则(带不带参数的装饰器都一样,只要是一个可调用对象即可)。@foodef bar: pass等价于:x = foobar = x(bar)'----------------'@foo('abc')def bar: pass等价于:x = foo('abc')bar = x原创 2017-02-21 18:41:53 · 816 阅读 · 0 评论 -
python迭代器、生成器、yield和xrange
1,迭代器:支持next和__iter__方法的类,其中next需要抛出StopIteration异常或返回迭代值,__iter__需要返回迭代器自己,也可以实现send函数,但要保证send函数调用next。class MyIterator(object): def __init__(self, step): self.step = step原创 2017-02-21 17:57:37 · 1400 阅读 · 0 评论 -
转载:10种检测Python程序运行时间、CPU和内存占用的方法
原文网址:http://www.jb51.net/article/63244.htm转载 2017-03-05 13:58:09 · 1303 阅读 · 0 评论 -
python引用计数和gc垃圾回收
一,引用计数和垃圾回收介绍:python采用"引用计数"和"垃圾回收"两种机制来管理内存。引用计数通过记录对象被引用的次数来管理对象。对对象的引用都会使得引用计数加1,移除对对象的引用,引用计数则会减1,当引用计数减为0时,对象所占的内存就会被释放掉。引用计数可以高效的管理对象的分配和释放,但是有一个缺点,就是无法释放引用循环的对象。最简单的就是下面的自己引用自己的例子:原创 2017-03-05 13:46:15 · 4767 阅读 · 0 评论 -
python属性和方法的访问
以下的讨论都限于,新式类(个人认为最好限于新式类)1,python一切皆对象除了object和type,两个逆天的存在,不是说它们不是,而是它们更高级一点。第一个区分的就是对象之间的关系,由__bases__和__class__两个主线来关联完成。2,属性的分类(作者自己的分类,仅供参考)Python-provided属性和用户属性:Python-provide原创 2017-02-13 11:00:41 · 4212 阅读 · 0 评论 -
python import导入的路径问题
转载:http://www.jb51.net/article/102252.htm前言Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import 的搜索路径在当前目录下搜索该模块在环境变量 PYTHONPATH 中指定的路径列表中依次搜索在 Python 安装路径的 lib 库中搜索Python import 的步骤pyt...转载 2018-04-30 21:13:50 · 54017 阅读 · 0 评论