摘要: 首先看一段交互代码 从上面可看出两者绝对有区别,from m.a import b通常解释器只会去关注a文件中的代码有效性, 而import m.a.b不仅如此还会关注从m到a中间每层包的__ini__.py的有效性 阅读全文
posted @ 2013-01-04 11:28 软践 阅读(1900) 评论(0) 推荐(0) 编辑
摘要: 可以利用property来为类灵活定义属性property 原型如下:class C(object): ... attrib = property(fget=None, fset=None, fdel=None, doc=None)o = C()执行o.attrib,则调用fget指定的函数;执行o.attrib= value 则调用fset函数;执行del o.attrib 则调用fdel函数了doc 为所定义的属性指定docstring显然如果不设置fset参数则此此属性成为名符其实的只读属性如下为一个典型的使用示例(节选自Django框架中某处源码) 阅读全文
posted @ 2013-01-04 11:09 软践 阅读(2292) 评论(0) 推荐(0) 编辑
摘要: 交互的代码如下,看看这个过程基本可以揣摩到其暗含的机制,详细这里就不多说了,从这里看来Python的代码执行并非一定如我们想象的那样从上往下一句句解释执行的。 阅读全文
posted @ 2013-01-04 11:04 软践 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 首先验证中间件中含User.objects.get(username=username)然后大致按照如下调用过程(这里只列出调用的关键点函数,调用于被调用关系用缩进表示)models.manager.get self.get_query_set().get( self.filter(*args, **kwargs) models.sql.query add_q add_filter self.setup_jo... 阅读全文
posted @ 2013-01-04 09:41 软践 阅读(286) 评论(0) 推荐(0) 编辑