摘要: Python 中默认的排序Python比较字符串大小时,根据的是ord函数得到的编码值。基于它的排序函数sort可以很容易为数字和英文字母排序,因为它们在编码表中就是顺序排列的。>> print ','> print '曙'= u'\u4e00' and uchar pyB: return 1 elif pyA bhB: return 1 elif bhA len(charB) else: break return dd# 排序函数def cnsort(nline): n = len(n... 阅读全文
posted @ 2013-08-21 17:10 编程狂热者 阅读(2852) 评论(0) 推荐(0) 编辑
摘要: 主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。常见的编码转换分为以下几种情况:自动识别 字符串编码可以使用 chardet 模块自动识别 字符创编码chardet 使用方法unicode 转换为其它编码(GBK, GB2312等)例如:a为unicode编码 要转为gb2312。a.encode('gb2312')# -*- coding=gb2312 -*-a = u"中文"a_gb2312 = a.encode('gb2312')print 阅读全文
posted @ 2013-08-21 17:02 编程狂热者 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 字典反转(reverse/inverse dictionary/mapping)Python字典反转就是将原字典的key作为value,而原来的value作为key,得到新的一个字典。如:原字典为:d = { 'a': 1, 'b':2 }将原字典反转得到新的字典:r_d = { 1: 'a', 2: 'b' }Python字典反转的实现我们当然可以用foreach来实现字典反转。这里给大家一个更简洁的方法,可以用一行Python代码实现字典的反转:dict((v,k) for k, v in map.iteritems())Py 阅读全文
posted @ 2013-08-21 17:01 编程狂热者 阅读(1015) 评论(0) 推荐(0) 编辑
摘要: 创建列表sample_list = ['a',1,('a','b')]Python 列表操作sample_list = ['a','b',0,1,3]得到列表中的某一个值value_start = sample_list[0]end_value = sample_list[-1]删除列表的第一个值del sample_list[0]在列表中插入一个值sample_list[0:0] = ['sample value']得到列表的长度list_length = len(sample_list)列表遍历 阅读全文
posted @ 2013-08-21 17:00 编程狂热者 阅读(459) 评论(0) 推荐(0) 编辑
摘要: Python 如何判断一个字符串只包含数字字符Q:如何判断一个字符串只包含数字字符A:一种方法是 a.isdigit()。但这种方法对于包含正负号的数字字符串无效,因此更为准确的为: try: x = int(aPossibleInt) ... do something with x ... except ValueError: ... do something else ...这样更准确一些,适用性也更广。但如果你已经确信没有正负号,使用字符串的isdigit()方法则更为方便。Python 字符串比较Python 字符串简单比较简单比较... 阅读全文
posted @ 2013-08-21 16:59 编程狂热者 阅读(13656) 评论(0) 推荐(0) 编辑
摘要: python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用。这里需要提一下的是python对线程的支持还不够完善,不能利用多CPU,但是下个版本的python中已经考虑改进这点,让我们拭目以待吧。threading模块里面主要是对一些线程的操作对象化了,创建了叫Thread的class。一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行;另一种是直接 阅读全文
posted @ 2013-08-21 16:57 编程狂热者 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Python函数默认值Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我们只要使用默认值就可以了。 所以函数默认值在python中用到的很多,尤其是在类中间,类的初始化函数中一帮都会用到默认值。 使用类时能够方便的创建类,而不需要传递一堆参数。只要在函数参数名后面加上 ”=defalut_value”,函数默认值就定义好了。有一个地方需要注意的是,有默认值的参数必须在函数参数列表的最后,不允许将没有默认值的参数放在有默认值的参数后,因为如果你那样定义的话,解释器将不知道如何去传递参数。看一段示例代码:def ask_ok(prompt, retries=4, complai 阅读全文
posted @ 2013-08-21 16:56 编程狂热者 阅读(1630) 评论(0) 推荐(0) 编辑
摘要: difflibpython diff比较模块datetimepython 处理日期与时间的模块chardet 字符串/文件 编码检测(很好用)adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数据库连接池django:一个WEB frameworkdocutils:用来写文档的dpkt:数据包的解包和组包MySQLdb:连接MySQL数据库的py2exe:用来生成windows可执行文件Pylons:我们领导 阅读全文
posted @ 2013-08-21 16:54 编程狂热者 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 字符串替换1.替换所有匹配的子串用newstring替换subject中所有与正则表达式regex匹配的子串result, number = re.subn(regex, newstring, subject)2.替换所有匹配的子串(使用正则表达式对象)reobj = re.compile(regex)result, number = reobj.subn(newstring, subject)字符串拆分1.字符串拆分result = re.split(regex, subject)2.字符串拆分(使用正则表示式对象)reobj = re.compile(regex)result = reob 阅读全文
posted @ 2013-08-21 16:52 编程狂热者 阅读(374) 评论(0) 推荐(0) 编辑
摘要: yield 用法说明yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。生成器 是 一个函数函数的所有参数都会保留第二次调用 此函数 时使用的参数是前一次保留下的.生成器还“记住”了它在流控制构造生成器不仅“记住”了它数据状态。 生成器还“记住”了它在流控制构造(在命令式编程中,这种构造不只是数据值)中的位置。由于连续性使您在执行框架间任意跳转,而不总是返回到直接调用者的上下文(如同生成器那样),因此它仍是比较一般的。yield 生成器的运行机制当你问生成器要 阅读全文
posted @ 2013-08-21 16:50 编程狂热者 阅读(249) 评论(0) 推荐(0) 编辑
摘要: python enumerate 用法 | 在for循环中得到计数参数为可遍历的变量,如 字符串,列表等; 返回值为enumerate类:import strings = string.ascii_lowercasee = enumerate(s)print sprint list(e)输出为:abcdefghij[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h' 阅读全文
posted @ 2013-08-21 16:48 编程狂热者 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 下面介绍了python raw_input的用法,使用raw_input 能够很方便的丛控制台读入数据。1.输入字符串#13222319810101****nID = ''while 1: nID = raw_input("Input your id plz") if len(nID) != len("13222319810101****"): print 'wring length of id,input again' else: breakprint 'your id is %s' % (nID)2.输 阅读全文
posted @ 2013-08-21 16:47 编程狂热者 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 使用print输出各型的字符串整数浮点数出度及精度控制strHello = 'Hello Python' print strHello#输出结果:Hello Python#直接出字符串1.格式化输出整数python print也支持参数格式化,与C言的printf似,strHello = "the length of (%s) is %d" %('Hello World',len('Hello World'))print strHello#输出果:the length of (Hello World) is 112.格式化输出 阅读全文
posted @ 2013-08-21 16:45 编程狂热者 阅读(672) 评论(0) 推荐(0) 编辑
摘要: Python 变量类型Python是有变量类型的,而且会强制检查变量类型。内置的变量类型有如下几种:#整型integer_number = 90#浮点float_number = 90.4#复数complex_number = 10 + 10j#list 序列sample_list = [1,2,3,'abc']#dictionary 字典sample_dic = {"key":value, 2:3}#tuple 只读的序列sample_tuple = (1,3,"ab")#嵌套sample_nest = [(1,2,3),{1:2,3: 阅读全文
posted @ 2013-08-21 16:43 编程狂热者 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 动态创建的元素需要使用live函数绑定事件。在一个DIV里面用jquery的append添加了一些元素,元素书写正确。用firebug也能正常显示追加的元素。但不管是$(document).ready();还是用鼠标点击事件根本就无法使用元素。晕死,jquery居然提供了一个live()的解决方法。$("input[name='insert']").live("click",function () { alert($(this).parent().html()); var familyName = $(this).parent().sib 阅读全文
posted @ 2013-08-21 14:35 编程狂热者 阅读(451) 评论(0) 推荐(0) 编辑
摘要: (1):转换成 2011-3-16 16:50:43 格式:functiongetDate(tm){vartt=newDate(parseInt(tm)*1000).toLocaleString().replace(/年|月/g,"-").replace(/日/g,"")returntt;}(2):转换成 2011年3月16日 16:50:43:functiongetDate(tm){vartt=newDate(parseInt(tm)*1000).toLocaleString()returntt;}(3):转换成 2011年3月16日 16:50fun 阅读全文
posted @ 2013-08-21 13:35 编程狂热者 阅读(217) 评论(0) 推荐(0) 编辑