
python
文章平均质量分 55
suhido
这个作者很懒,什么都没留下…
展开
-
Python 迭代器和生成器
[b]迭代器[/b]迭代器只不过是一个实现迭代器协议的容器对象。它基于两个方法:[list][*]next 返回容器的写一个项目;[*]__iter__ 返回迭代器本身。[/list]迭代器可以通过使用一个iter内建函数和一个序列来创建,示例如下。[code="python"]>>> i = iter('abc')>>> i.next()'a'>>...原创 2013-10-15 23:09:06 · 104 阅读 · 0 评论 -
排序算法学习(python版本)之堆排序(HeapSort)
[b]Contains:[/b]堆排序以及堆排序的应用[b]堆排序(Heapsort)[/b]是指利用堆積這種資料結構所設計的一種排序算法。堆積是一個近似完滿二元樹的結構,並同時滿足堆積的性質:即子結點的键值或索引總是小於(或者大於)它的父節點。[list][*]最差时间复杂度:O(nlogn) [*]最优时间复杂度:O(nlogn)[*]平均时间复杂度:O(nlogn)...原创 2013-07-01 22:54:48 · 313 阅读 · 0 评论 -
python range xrange
[quote]Help on built-in function range in module __builtin__:range(...) range([start,] stop[, step]) -> list of integers Return a list containing an arithmetic progression of intege...原创 2013-06-25 23:30:26 · 201 阅读 · 0 评论 -
python class
[quote]类是创建新对象类型的机制。类定义了一组属性,这些属性与一组叫做实例的对象相关且由其共享。类通常是由函数、变量和计算出的属性组成的集合。[/quote]类中最常用的就是[b]构造方法[/b]和[b]析构方法[/b]。构造方法__init__(self,....)在生成对象时调用,可以用来进行一些初始化操作,不需要显示去调用,系统会默认去执行。构造方法支持重载,如果用...原创 2013-06-25 00:54:51 · 220 阅读 · 0 评论 -
Python Collections
CollectionsHigh-performance container datatypes * nametuple() * deque * Counter * OrderedDict * defaultdict一、Counterdict subclass for counting hash able objects...原创 2012-12-24 19:11:58 · 93 阅读 · 0 评论 -
AttributeError: 'module' object has no attribute 'SendCloud'
网上查了下意思是说你命名的文件名不能和lib重名,这样会导致import是你命名的文件。于是我改了文件的名字但是依然还是[code="python"]AttributeError: 'module' object has no attribute [/code]只好打印下dir下这个模块发现还是原来的文件里面包含的东东于是ls 项目目录 发现原来...2013-06-05 11:46:04 · 268 阅读 · 0 评论 -
python string
[b]如果这就是字符串,这本来就是字符串[/b]首先看下字符串的方法[code="python"]>>> dir(str)['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getit...2013-05-07 23:44:17 · 95 阅读 · 0 评论 -
python tips
[b]1、enum[/b][code="python"]#!/usr/bin/env python# -*- coding:utf-8 -*-def enum(**enums): return type('Enum', (), enums)Gender = enum(MALE=0,FEMALE=1)print Gender.MALEprint Gender...原创 2013-03-28 23:57:52 · 91 阅读 · 0 评论 -
python decorators
[b]Contains[/b]:[list][*]1、decorators[*]2、functools[/list]首先我们看下tornado中使用的装饰器[b]1、@tornado.web.authenticated[/b][quote]Decorate methods with this to require that the user be logged in. ...原创 2013-03-28 23:36:08 · 130 阅读 · 0 评论 -
python closures
[b]Closure[/b]:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。它只不过是个"内层"的函数,由一个名字(变量)来指代,而这个名字(变量)对于“外层”包含它的函数而言,是本地变量。demo:[code="python"]#-*-coding:utf-8-*-class Employee(obje...原创 2013-03-28 22:09:41 · 125 阅读 · 0 评论 -
Python functools
首先看下functools包含的方法[code="python"]Python 2.7.2 (default, Jun 20 2012, 16:23:33)[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwinType "help", "copyright", "credi...原创 2013-02-16 18:49:25 · 96 阅读 · 0 评论 -
Code Like a Pythonista: Idiomatic Python(阅读笔记——等价于复制)
[b]The Zen of Python, by Tim Peters[/b][code="Zen"]Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated....原创 2013-02-18 17:56:00 · 192 阅读 · 0 评论 -
Python时间模块
[b]time模块[/b]时间模块中最常用的一个函数就是获取当前时间的函数time.time。检查平台使用的纪元。time.asctime(tupletime)接收一段时间的元祖,并返回一个可读的24个字符的字符串。[code="python"][11]: import timeIn [12]: print time.asctime(time.gmtime(0))...原创 2013-10-15 23:03:48 · 116 阅读 · 0 评论 -
Python装饰器
编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一个函数,返回封装原始函数调用的一个子函数。通用的模式如下。[code="python"]def my_decorator(function): def _my_decorator(*args, **kw): #在调用实际函数之前做些填充工作 res = function(*a...原创 2013-10-15 22:59:45 · 102 阅读 · 0 评论 -
python list
简单总结以及整理如下:[code="python"]>>> dir(list)['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__...原创 2013-10-15 22:56:19 · 110 阅读 · 0 评论 -
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
方法总是有的,当然需要你去寻找。当然如果花费太多的时间在一件事情上有时候可能也不是件好事。[url]https://github.com/python-imaging/Pillow/issues/527[/url][code="shell"]sudo sed -i '' -e 's/-mno-fused-madd//g' /System/Library/Frameworks...原创 2014-03-25 19:13:34 · 225 阅读 · 0 评论 -
Python Excel
[b]安装lib[/b][code="python"]easy_install xlrd[/code] [code="python"]def handle(path): book = open_workbook(path) sheet = book.sheet_by_index(0) print sheet.name print shee...原创 2013-09-10 17:21:53 · 123 阅读 · 0 评论 -
排序算法学习(python版本)之归并排序(MergeSort)
[b]归并排序[/b](Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。[table]|最差时间复杂度:O(nlogn) ||最优时间复杂度:O(n)||平均时间复杂度:O(nlogn)|[/table]归并操作归并操作(merge),也叫归并算法,指的是将两个已经排序的序...原创 2013-02-27 19:06:43 · 588 阅读 · 0 评论 -
排序算法学习(python版本)之快速排序(QuickSort)
[b]快速排序[/b]是由東尼·霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 演算法更快,因為它的內部循环(inner loop)可以在大部分的架構上很有效率地被實作出來。[table]|最差时间复杂度:O(n^2) ||最优时间复杂度...原创 2013-02-27 19:04:55 · 134 阅读 · 0 评论 -
Python线程整理
线程有五种状态新建、就绪、运行、阻塞、死亡。阻塞有三种情况: [list][*]同步阻塞是指处于竞争锁定的状态,线程请求锁定时将进入这个状态,一旦成功获得锁定又恢复到运行状态; [*]等待阻塞是指等待其他线程通知的状态,线程获得条件锁定后,调用“等待”将进入这个状态,一旦其他线程发出通知,线程将进入同步阻塞状态,再次竞争条件锁定; [*]而其他阻塞是指调用time....原创 2013-02-27 01:22:25 · 117 阅读 · 0 评论 -
PostgreSQL psycopg2:IndexError: tuple index out of range
Postgresqlpsycopg2使用like查询的时候出线了这个异常[code="exception"]tuple index out of range[/code]stackoverflow找到了解决办法,即在like后面多加两个%%符号解决办法参考:http://stackoverflow.com/questions/1734814/why-isnt-psycopg...原创 2014-01-09 17:04:50 · 428 阅读 · 0 评论 -
Python map、filter,reduce介绍
[b]1、filter(function,iterable)[/b][quote]Construct a list from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or...原创 2013-03-28 22:02:10 · 103 阅读 · 0 评论 -
Python __new__ 、__init__、 __call__
[b]Contains:[/b][list][*]__new__: 创建对象时调用,返回当前对象的一个实例[*]__init__:创建完成对象后调用,对当前对象的实例的一些初始化,无返回值[*]__call__:[/list][b]一、__init__通过此方法我们可以顶一个对象的初始操作。[/b]但是当我新建一个类的实例的时候,__init__并不是第一个被调用的,实...原创 2013-03-26 23:49:44 · 149 阅读 · 0 评论 -
Learning Twisted(Web)
简单的web示例:[code="java"]#!/usr/bin/python '''File: simple_web.pyAuthor: MeDescription: '''from twisted.web import server, resourcefrom twisted.internet import reactorclass Simple(res...原创 2011-11-01 01:36:42 · 91 阅读 · 0 评论 -
一个Python程序员的进化[转]
不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码显示出了不同的风格,代码都很简单,有趣。下面让我们一起来看看一个Python程序员是进阶的全过程。AD:不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码显示出了不同的风格,代码都很简单,有趣。编程新手...原创 2011-10-25 21:48:58 · 204 阅读 · 0 评论 -
mac vim pydiction配置
Ubuntu 下面配置python开发环境 vim插件:一,自动补全插件pydiction: mkdir -p ~/.vim/after/ftplugin/mkdir -p ~/.vim/tools/pydiction/将文件 python_pydiction.vim 放到 ~/.vim/after/ftplugin/将complete-dict 文件放到 ~/.vim...原创 2011-10-21 01:09:38 · 258 阅读 · 0 评论 -
Django: “No module named urls” error for /admin/
No module named urls问题的解决方法如下:[code="python"]# OLD:from django.conf.urls.defaults import *urlpatterns = patterns('', (r'^admin/', include('django.contrib.admin.urls')),)[/code][code...原创 2010-10-29 10:18:04 · 130 阅读 · 0 评论 -
TemplateDoesNotExist 异常
如果 get_template() 找不到给定名称的模板,将会引发一个 TemplateDoesNotExist 异常。假设你的 DEBUG项设置为 True,而你有没有建立current_datetime.html 这个模板文件,你会看到Django的错误提示网页,告诉你发生了 TemplateDoesNotExist 错误在建立了这个html文件后,又报了同样的异常,害我搞了好久,才发...2010-10-24 23:20:44 · 530 阅读 · 0 评论 -
ImportError: Settings cannot be imported, because environment variable DJANGO_SE
使用Django时在命令行中敲击Python命令进入交互模式,如果直接如下操作:from django.template import Template ,Contextt = Template(”Test is {{test}}”)会导致:ImportError: Settings cannot be imported, because environment variable DJ...原创 2010-10-24 23:14:17 · 123 阅读 · 0 评论 -
django中的"hello,world" 程序ImportError: cannot import name HttpRespose错误
这个应该是很简单的。首先,打开cmd。cd python26/scripts/然后输入命令:django-admin.py startproject demo创建自己的项目名称:demo接下来就是在你创建项目的文件目录下,即demo目录下。创建一个python文件。view.py里面写一个hello,world程序from django.http imp...原创 2010-10-22 23:10:47 · 1339 阅读 · 0 评论 -
Windows下django的安装方法以及遇到一些问题的解决。
最近,打算学习下python的web框架django。因此尝试安装这个东东,在安装过程中发现了一些小问题。再次,和大家分享一下这个安装流程,以便大家遇到问题时,方便解决。首先,由于我的电脑之前用过python,而且装的是最新版本的python3.1.2。所以我就直接下载django1.2.3(final).然后就按照网上所说的方便尝试安装1.cmd中cd到你安装的djang...原创 2010-10-22 13:53:44 · 180 阅读 · 0 评论 -
解决django ImportError: Settings cannot be imported错误
转:http://www.iyouf.info/fixed-django-settings-error.html今天在练习django的模板引擎的时候出了这么一个错误ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined....原创 2011-04-24 19:15:01 · 427 阅读 · 0 评论 -
排序算法学习(python版本)之插入排序(InsertionSort)
[b]插入排序[/b](Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。[table]|||最差时间复杂...原创 2013-03-07 22:44:19 · 215 阅读 · 0 评论 -
排序算法学习(python版本)之选择排序(SelectionSort)
[b]选择排序[/b](Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。[table]|最差时间复杂度:O(n^2) ||最优时间复杂度:O(n^2)||平均时间复杂度:O(n^2...原创 2013-03-07 22:49:34 · 338 阅读 · 0 评论 -
Python socket简介
自豪地使用dir和help.[code="python"]Python 2.7.2 (default, Jun 20 2012, 16:23:33) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwinType "help", "copyright", "credits" or "l...原创 2013-03-25 23:42:33 · 102 阅读 · 0 评论 -
Tornado ioloop源码简析
[code="python"]#!/usr/bin/env python#-*-encoding:utf-8-*-from tornado import httpserverfrom tornado import ioloopdef handle_request(request): message = "You requested %s\n" % request...原创 2013-03-21 00:18:32 · 125 阅读 · 0 评论 -
Tornado httpserver 源码简析
整个流程就是创建一个[b]socket[/b][list][*]socket.socket[*]socket.bind[*]socket.listen[*]socket.accept[/list]一些值得注意的地方:[list][*]sock.setblocking[*]set_close_exec(sock.fileno())[/list][cod...原创 2013-03-17 01:49:29 · 121 阅读 · 0 评论 -
macos mod_python悲剧的安装过程(macos 10.7)
有些时候,有些情况,有些奇遇。有些忐忑、有些错过、有些差点就放弃了。可是就那么一丁点的舍不得,我就浪费了好长的时间。google了好久,最后终于悲剧的安装成功了。 由于系统从10.6升级了10.7 xcode我安装了4.3 之前的3.2卸载了 尼玛这导致macport神马的都貌似缺了跟弦。(xcode貌似很有用处,可我都没用过) 哎,没...2012-03-23 12:26:36 · 260 阅读 · 0 评论 -
Tornado gen简介
[size=small][b]Contains:[/b][list][*]1、iterator[*]2、generator [*]3、yield expressions[*]4、tornado.gen[/list][b]一、迭代器[/b][quote] Python supports a concept of iteration over co...原创 2013-03-10 19:55:38 · 195 阅读 · 0 评论 -
查找算法学习之二分查找(Python版本)——BinarySearch
[quote]在计算机科学中,折半搜索,也称二分查找算法、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。[/quot...原创 2013-03-10 01:17:23 · 435 阅读 · 0 评论