Python
文章平均质量分 52
Muge_
这个作者很懒,什么都没留下…
展开
-
Flask mega tutorial 1.0 documentation错误
python flask 表单插件flask-meta-tutorial 1.0 教程,发现一处错误: 执行会出现: No module named flask.ext.wtf.TextField Flask-WTF从version 0.9.0有了变化,正确要引用wtforms包 from flask.ext.wtf import Fo原创 2015-04-09 11:39:58 · 869 阅读 · 0 评论 -
初步理解Python Web WSGI
Web是怎么工作的? 1. 浏览器访问url,发送一个HTTP请求。 2. 服务器收到请求后生成HTML文档,并把这个文档作为HTTP响应中的Body给浏览器。 3. 浏览器解析HTTP响应中的Body生成展示页面。但是如果要动态生成HTML,则需要一个专用的web服务器,所以一旦一个框架选择了某个web服务器,基本上就不太好更改了,所以定义一个统一的接口极为重要,这就是WSGI接口 一原创 2015-06-14 18:43:04 · 1839 阅读 · 0 评论 -
Python 一些值得注意的地方
空字符串注意>>> if ' ':... print 'Not False'... Not False>>> if '':... print 'Not False'...原创 2015-07-20 13:00:50 · 458 阅读 · 0 评论 -
Python 异常
try…except我们可以用try…except来处理异常:try: import NoThisModuleexcept ImportError as e: print e import os如果模块不存在,那么Python解释器会报错,模块导入失败的错误一般是 ImportError 所以我们用 except 捕获 ImportError, 捕获到后,便会执行 except原创 2015-07-25 09:33:23 · 512 阅读 · 0 评论 -
Python lambda
lambda 通常称为匿名函数,常用于定义一些很简单的函数。 注意: lambda是一个表达式,lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符;而def是语句,def会把一个函数对象赋值给一个变量。 表达式 Expressions: 有值,所以可以写在赋值语句的右侧,而import,for等语句不能被用于赋值。语句 Statement: 不一定有值。 因为lambda是原创 2015-07-05 20:29:23 · 562 阅读 · 0 评论 -
一些Pythonic的写法
最大100最小0max(min(x,100), 0)#相当于if x > 100: x = 100elif x < 0: x = 0阶乘:factorial = lambda x: reduce(int.__mul__, xrange(2, n+1))去list重复元素:arr = [1,1,2,2]arr = {}.fromkeys(arr).keys()三元操作符:a,原创 2015-07-05 14:20:06 · 450 阅读 · 0 评论 -
Python 类的继承
有两个模块 file1.py 和 file2.py file2中有个基类Basedef abc(self): return "function-abc and name: " + selfclass Base(object): def __init__(self, name): self.name = name def run(self): r原创 2015-07-12 10:27:40 · 655 阅读 · 0 评论 -
Python 的内建对象
如果你已经学习了包,模块这些知识了。你会不会有好奇:Python为什么可以直接使用一些内建函数,不用显式的导入它们,比如 str() int() dir() 什么的?答案是Python解释器第一次启动的时候 __builtins__ 就已经在命名空间了(Note: 有s) 进Shell看看: >>> globals(){'__builtins__': <module '__builtin__'原创 2015-06-26 17:16:35 · 682 阅读 · 0 评论 -
Python 变量作用域
变量作用域(scope)在Python中是一个容易掉坑的地方。 Python的作用域一共有4中,分别是: L (Local) 局部作用域 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域 以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就原创 2015-06-25 13:29:53 · 31677 阅读 · 2 评论 -
Python将list中的unicode转换成中文显示
python list中unicode转换原创 2015-05-27 17:13:45 · 23642 阅读 · 1 评论 -
将Python代码发布到PyPi,使他人可用pip安装
其中bword/bword.py 是你的代码文件如果你还不明白你可以参照:https://github.com/ZhangHang-z/bword 目录结构项目的根目录要有一个setup.py文件,这个文件建立后还可以使用 python setup.py install 安装你的模块,很熟悉吧。setup.py 目录里的配置详情:from setuptools原创 2015-05-25 20:45:50 · 2832 阅读 · 0 评论 -
Python exec 和 eval
exec语句用来执行储存在字符串或文件中的Python语句, 我们可以运行一个包含Python语句的字符串>>> exec "print 'Hello Python'"Hello Python 但是exec可能会干扰Python语句的命名空间, 从而影响到原来的函数运行>>> from math import sqrt>>> exec "sqrt = 1原创 2015-04-09 13:42:31 · 496 阅读 · 0 评论 -
Python字符串方法
join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。str.join(sequence)>>> str = ' '>>> seq = ['abc','def']>>> print str.join(seq)abc def>>> str = '-'>>>seq=('abc','def','123')>>> print str.join(seq)原创 2015-04-09 13:40:25 · 295 阅读 · 0 评论 -
Python递归和迭代
递归在函数内部,调用函数自身的编程技巧称为递归( recursion)。递归函数结构清晰,很直观的理解计算过程,但也有严重缺点:相对于普通循环而言,递归运行效率较低,经过很多冗余的计算,递归会消耗大量的调用堆栈。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧。每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,递归调用的次数过多,会原创 2015-04-09 13:39:54 · 1750 阅读 · 0 评论 -
Python判断字符串编码以及编码的转换
判断字符串编码使用 chardet 可以很方便的实现字符串/文件的编码检测。尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要>>> import urllib>>> html = urllib.urlopen('http://www.chinaunix.net').read()>>> import charde原创 2015-04-09 13:41:48 · 5334 阅读 · 0 评论 -
Python实现单例类
有时候需要像Java一样一个类只允许其生成一个类实例。比如设计一个打印机程序,一台计算机可以连接若干台打印机,但是同一份文件只允许一台打印机输出,避免重复打印。Java实现单例的最简单方法:public class PrintProgrammer:{ private static PrintProgrammer SingleTo = null; private void Printe原创 2016-03-08 10:42:57 · 1316 阅读 · 0 评论