07 2016 档案

摘要:标识符:Identifiers 定义: identifier ::= (letter|"_") (letter | digit | "_")* letter ::= lowercase | uppercase lowercase ::= "a"..."z" uppercase ::= "A"..." 阅读全文
posted @ 2016-07-26 00:19 scolia 阅读(5748) 评论(0) 推荐(0)
摘要:属性访问控制 所谓的属性访问控制就是控制点号访问属性的行为,而且不仅是类的外部,连类的内部也受控制,代码见真章,边看代码边解释: __getattr__(self, item) __getattr__(self, item) 定义当访问不存在的属性时的行为,注意是不存在的属性。 测试: 其行为和没定 阅读全文
posted @ 2016-07-25 01:36 scolia 阅读(4112) 评论(0) 推荐(1)
摘要:类型转换魔法 类型转换魔法其实就是实现了str、int等工厂函数的结果,通常这些函数还有类型转换的功能,下面是一些相关的魔法方法: __int__(self) 转换成整型,对应int函数。 __long__(self) 转换成长整型,对应long函数。 __float__(self) 转换成浮点型, 阅读全文
posted @ 2016-07-22 00:57 scolia 阅读(3635) 评论(0) 推荐(0)
摘要:自定义序列的相关魔法方法允许我们自己创建的类拥有序列的特性,让其使用起来就像 python 的内置序列(dict,tuple,list,string等)。 如果要实现这个功能,就要遵循 python 的相关的协议。所谓的协议就是一些约定内容。例如,如果要将一个类要实现迭代,可以实现__iter__( 阅读全文
posted @ 2016-07-21 00:47 scolia 阅读(4390) 评论(0) 推荐(1)
摘要:反射运算 什么是反射运算符,其实就是反转了两个对象,下面先看一个普通运行符的实现: 在普通的加法运算中,调用的是+号左边的__add__方法,调用谁谁就为self。所以左边是self,右边为other,所以结果如上。 而反射运行其实就是交换这两者,下面看例子: 首先,不同的地方是这里调用的+后右边的 阅读全文
posted @ 2016-07-19 22:49 scolia 阅读(4397) 评论(2) 推荐(5)
摘要:在比较的魔法方法中,我们讨论了魔法方法其实就是重载了操作符,例如>、<、==等。而这里,我们继续讨论有关于数值的魔法方法。 1.单目运算符或单目运算函数 __pos__(self) 实现一个取正数的操作(比如 +some_object ,python调用__pos__函数) __neg__(self 阅读全文
posted @ 2016-07-18 17:16 scolia 阅读(3110) 评论(0) 推荐(0)
摘要:在python2.x的版本中,支持不同类型的比较,其比较原则如下: 内置类型: 1.同一类型: 1.1)数字类型:包含int、float、long、complex、bool(bool类型是int的子类,且True=1, False=0)。就按照数字的大小进行比较,例如: 1.2)非数字类型: 1.2 阅读全文
posted @ 2016-07-17 23:12 scolia 阅读(2508) 评论(0) 推荐(3)
摘要:一般而言,我们在视图函数中处理各种业务逻辑之后,应该返回一个 HttpResponse 对象。而 HttpResponse 对象的第一个参数接受字符串或者是迭代器,作为响应报文的主体。但是这意味着我们要将 HTML 内容写到 python 的代码中,或者写到一个文件中,然后用 python 打开,将 阅读全文
posted @ 2016-07-06 00:43 scolia 阅读(2723) 评论(0) 推荐(2)
摘要:回顾 HTTP 协议的通信核心,无非就是请求报文和响应报文之间的交互。而请求报文由客户端生成,也就是用户的浏览器;响应报文则由服务器生成,作为web应用的开发者,大多数工作就是构造一个合适的响应报文。在 django 中,请求报文已经被封装成了 HttpRequest 对象,该对象的创建是自动的,且 阅读全文
posted @ 2016-07-02 23:03 scolia 阅读(27108) 评论(0) 推荐(0)
摘要:在 HttpRequest 对象中,属性 GET 和 POST 得到的都是 django.http.QueryDict 所创建的实例。这是一个 django 自定义的类似字典的类,用来处理同一个键带多个值的情况。 在 python 原始的字典中,当一个键出现多个值的时候会发生冲突,只保留最后一个值。 阅读全文
posted @ 2016-07-01 23:59 scolia 阅读(26491) 评论(2) 推荐(3)
摘要:HTTP 应用的信息是通过 请求报文 和 响应报文 传递的,关于更多的相关知识,可以阅读《HTTP权威指南》获得。 其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将这些信息封装成了 HttpRequest 对象,该对象由 HttpRequest 类创建。每一个请求都会生成一个 阅读全文
posted @ 2016-07-01 21:45 scolia 阅读(20103) 评论(4) 推荐(7)