第十三章. 特殊的方法 1)    特殊的方法 __init__(self,...) 这个方法在新建对象恰好要被返回使用之前被调用. __del__(self) 恰好在对象要被删除之前调用. __str__(self) 在我们对对象使用print语句或是使用str()的时候调用. __lt__(self,other) 当使用 小于 运算符(<)的时候调用.类似地,对于所有的运算符(+,>等等)都有特殊的方法. __getitem__(self,key) 使用x[key]索引操作符的时候调用.…
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适用于特定类型的客户端:Web浏览器. 但其他类型的客户端呢? 例如,如果我想构建Android或iOS APP,有两种主流方法可以解决这个问题. 最简单的解决方案是构建一个简单的APP,仅使用一个Web视图组件并用Microblog网站填充整个屏幕,但相比在设备的Web浏览器中打开网站,这种方案几乎…
本文翻译自The Flask Mega-Tutorial Part XIII: I18n and L10n 这是Flask Mega-Tutorial系列的第十三部分,我将告诉你如何扩展Microblog应用以支持多种语言. 作为其中的一部分,你还将学习如何为flask命令创建自己的CLI扩展. 本章的主题是国际化和本地化,通常缩写为I18n和L10n. 为了使我的应用对不会英语的人更加友好,我将在语言翻译机制的帮助下,实施翻译工作流程,来使用多种语言向用户提供服务. 本章的GitHub链接为:…
委托 什么是委托委托概述声明委托类型创建委托对象给委托赋值组合委托为委托添加方法从委托移除方法调用委托委托示例调用带返回值的委托调用带引用参数的委托匿名方法 使用匿名方法匿名方法的语法 Lambda 表达式 委托 什么是委托 可以认为委托是持有一个或多个方法的对象.当然,正常情况下你不想"执行"一个对象,但委托与典型对象不同.可以执行委托,这时委托会执行它所"持有"的方法. 我们从下面的示例代码开始.具体细节将在本章剩余内容介绍. 代码开始部分声明了一个委托类型My…
进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n")…
第二十一章. 扩展Python /* D:\Python27\Lib\Extest-1.0\Extest2.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "Python.h" int fac(int n) { if (n < 2) return(1); return (n)*fac(n-1); } static PyObject * Extest…
第十七章. 网络编程 1)    FTP客户端 import ftplib import os import socket HOST = '127.0.0.1' DIRN = 'menus' FILE = 'hello.txt' USER = 'taojin' PASS = 'pass123' def main(): try: f = ftplib.FTP(HOST) f.login(user = USER, passwd = PASS) f.cwd(DIRN) f.retrbinary('RE…
Python中有三种内建的数据结构——列表.元组和字典. 1)    Lists列表 [,] 列表是序列的一种 shoplist = ['apple', 'carrot', 'banana'] print shoplist #['apple', 'carrot', 'banana'] shoplist.append('orange') #末尾加入一个 print shoplist #['apple', 'carrot', 'banana', 'orange'] shoplist.insert(2…
第六章. 模块 1) 模块 sys模块 字节编译的.pyc文件,优化编译后生成pyo文件 2) from..import语句 import sys print 'The command line arguments are:' for i in sys.argv: print i print '\n\nThe PYTHONPATH is', sys.path, '\n' 3) __name__ 只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块 from sys impor…
第五章. 函数 定义语句后面要加冒号 1)    定义函数 def sayHello(): print 'Hello World!' sayHello() 2)    变量作用域 LEGB原则 L本地作用域 E上层结构中def或lambda的作用域 G全局作用域 B内置作用域 3)    工厂/闭合函数 def maker(N): def action(X): return X ** N return action f = maker(2) print f #<function action a…