python
水墨小龙虾
2012-----北京蓝汛
2014-----M1905
2014-----猎豹移动
展开
-
python下的一些特殊属性(几个实例说明)
实例1:#-*-coding:UTF-8-*-class FirstDemo(object): """ 这里是一个doc """ a=10 #类属性 def demo(self): """ 第一个方法 """ pass def demo2(原创 2012-03-30 11:17:40 · 2079 阅读 · 0 评论 -
python的多种实现(python之所以能称为胶水预言的关键)
以前一直不明白python如何成为一种胶水语言,今天重新看《python核心编程》,发现里面有这么一段:1. 标准版本的python是用C来编译的,又称为Cpython,除此之外,还有一些其他的python实现。2.java实现版本。这个解释器完全用java写成,名为Jython。尽管和标准版的有区别,但是很小,而且启动环境也完全相同 Jython的优点: (1原创 2012-03-30 15:20:45 · 5152 阅读 · 2 评论 -
2.python元组的操作——《深入python》学习
#-*-coding:UTF-8-*-#元组是不可变的对象,一旦创建就不能再改变了#创建元组a_tuple=("a","b","c","d")print a_tupleprint a_tuple[0] #索引访问print a_tuple.index('c') #得到c的索引#元组的一个用处——一次赋多值v=("a",123,T原创 2012-03-30 16:48:09 · 1126 阅读 · 0 评论 -
3.python的set集合的操作示例——《深入python》学习
#-*-coding:UTF-8-*-#集合set是装有独特值的无序袋子,可以包含任何数据类型,用的比较少a_set={1} #创建集合print a_setprint type(a_set) #打印seta_list=['1',2,3,4]a_set=set(a_list) #列表转换为集合setprint a_seta_set=原创 2012-03-30 17:06:04 · 6548 阅读 · 0 评论 -
1.python中的列表及其操作
#-*-coding:UTF-8-*-#创建列表a_list=['a','b','mpil','z','example']#打印列表print a_list#用索引访问列表print a_list[0]print a_list[-1]print a_list[-5]#列表切片print a_list[1:3] #1到3,但不包括3print a_l原创 2012-03-30 16:37:16 · 1576 阅读 · 0 评论 -
5.python的路径相关操作——《深入python3》学习
下面的内容是python中对于文件路径的一些操作,还包含文件元数据的提取:#-*-coding:UTF-8-*-#文件操作import osprint os.getcwd() #返回当前的工作路径os.chdir('C:/Users/Administrator/Desktop') #更改路径到,不要用‘\’,容易引起转义,中文有兼容性问题prin原创 2012-03-31 10:08:21 · 2858 阅读 · 0 评论 -
7.python的字符串处理常见方法——《深入python3》
下面是字符串处理的最常用的一些方法:#-*-coding:UTF-8-*-#字符串操作username='mark'password='123'print "{0} 's password is {1}".format(username,password) #字符串格式化#复杂点的a_set=[1,2,3]print 'a{0[0]}-----b{1[1]}'原创 2012-03-31 13:19:07 · 1671 阅读 · 0 评论 -
6.python的set、list和dict的解析
#-*-coding:UTF-8-*-#列表解析#提供了一种紧凑的方式,实现了通过对列表中每一个元素应用一个函数方法来将一个列表映射到另外一个列表。a_list=[1,2,3,4,5]b=[elem *2 for elem in a_list] #对于a_list中的每个元素,都乘以2,然后返回一个新列表print bb=[f fo原创 2012-03-31 11:44:18 · 7012 阅读 · 3 评论 -
8.python中字符串的编码和解码问题——decode/encode
python默认的是不支持中文的,要想让python识别中文,就必须在文件头加上#-*-coding:UTF-8-*- 这样,python默认的编码格式就会采用utf-8的格式了。 实际工作中,我们可能会遇到需要将unicode编码形式转换到其他编码形式的问题,解决方法如下:#-*-coding:UTF-8-*-a_stri原创 2012-03-31 15:34:36 · 2536 阅读 · 1 评论 -
9.python中的正则表达式
#-*-coding:UTF-8-*-s='100 BROAD'import reprint re.sub('ROAD$','RD.',s) #^匹配字符串开始,$匹配字符串结尾print re.sub(r'\bROAD$','RD.',s) #\b表示这里必须要有一个分隔符,字符串前面的r表示后面字符串中的内容不需要转义prin原创 2012-03-31 17:42:02 · 778 阅读 · 0 评论 -
11.python中的断言机制——assert
在python中,assert用来实现断言的功能: #-*-coding:UTF-8-*-#python的断言机制assert 1+1==2assert 1+1==3 #assert语句后面跟任何合法的python表达式,如果后面的表达式为True,则assert不做任何事情,如果为false,则报错。原创 2012-04-01 09:25:10 · 5762 阅读 · 0 评论 -
linux下python、django框架的配置
python2.6 下载wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz 解压 tar –zxvf python-2.6.7.tgz cd python-2.6.7 ./configure make make install 替换原有python: cd /usr/bin rm –rf python ln -s /us原创 2012-04-01 10:53:52 · 2046 阅读 · 3 评论 -
15.序列化python对象
#-*-coding:UTF-8-*-#序列化python对象entry=[1,2,3,4,5,6,7,8,9,0]import picklewith open("entry.pickle",'wb') as f: pickle.dump(entry,f) #pickle模块中的dump()函数接受一个可序列化的python数据结原创 2012-04-01 15:06:30 · 1567 阅读 · 0 评论 -
16.python的网络编程
#-*-coding:UTF-8-*-#HTTP Web服务import urlliba_url='http://www.baidu.com'data=urllib.urlopen(a_url).read(10)print data原创 2012-04-01 15:20:44 · 942 阅读 · 0 评论 -
14.python的xml操作
#-*-coding:UTF-8-*-#python xml 文件操作import xml.etree.ElementTree as etree #ElementTree属于python标准库的一部分tree=etree.parse('feed.xml') #parse()函数会立即解析完整个文档,返回一个代表整片文档的对象root=tree.getroot()原创 2012-04-01 13:29:14 · 1160 阅读 · 0 评论 -
20.python——序列的常用操作
#-*-coding:UTF-8-*-a_list=[1,2,3,4,5,6]print len(a_list) #返回序列个数print '最大元素:',max(a_list),'最小元素:',min(a_list) #获取列表中最大和最小元素for i in reversed(a_list): #将序列倒序原创 2012-04-03 18:02:23 · 1374 阅读 · 0 评论 -
21.python对象的浅拷贝和深拷贝
当我们将一个对象赋值给另外一个对象的时候,python其实并没有拷贝这个对象,只是将两个变量的引用设定为了同一个。例子:#-*-coding:UTF-8-*-a_list=[1,2,3,4,5,6]b_list=a_lista_list.append(7) #对a_list这个对象的操作将影响到b_list,说明并没有拷贝a_list对象。prin原创 2012-04-03 18:12:52 · 2278 阅读 · 0 评论 -
4.python字典和None类型
例一:#-*-coding:UTF-8-*-a_dict={'chen':1,'jian':2} #创建一个字典a_dict['chen'] #通过key来访问a_dict['chen']=3 #修改字典print a_dicta_dict['jian']=[4,5原创 2012-03-30 17:22:30 · 2062 阅读 · 0 评论 -
10.python中如何从一个序列中去除重复项
很简单,用python的set()内建函数就可以实现:#-*-coding:UTF-8-*-#在序列中寻找不同的元素a_list=[1,1,2,2,3,4,5,6,7]print set(a_list) #set函数将返回一个没有重复项的集合a_string='AABBCC DDEEFF'print set(a_string)原创 2012-04-01 09:14:25 · 4711 阅读 · 0 评论 -
19.unicode在python中的运用
python默认的字符编码为ascii。 codec定义了文本跟二进制值的转换方式。包括ascii、utf-8等等 每当我们向一个文件中写入字符串的时候,我们必须定义一个编码用于把对应的Unicode内容转换成你定义的格式。可以用encode()函数来实现。#-*-coding:UTF-8-*-hello='hello wor原创 2012-04-03 17:45:17 · 1668 阅读 · 0 评论 -
17.python字符编码检测——chardet
当面对一串不知道编码信息的字节流的时候,尝试着确定一种编码方式以使我们能够读懂其中的文本内容。类似于破解密码。 Firefox包含有一个自动检测字符编码的库,导入到了python2,并且取绰号为chardet模块 chardet运用了一种算法来检测字符的类型import chardetutf8_str = '我爱pytho原创 2012-04-01 15:36:24 · 3386 阅读 · 0 评论 -
18.python的打包和发布
#-*-coding:UTF-8-*-#打包python类库#发布第一个python包非常困难#Distutils安装脚本应命名为setup.py#编写安装脚本from distutils.core import setup #每个Distutils安装脚本的第一行,导入setup()函数,95%的安装脚本仅由一个对setup()方法的调用组成#setup.p原创 2012-04-01 15:52:32 · 1190 阅读 · 0 评论 -
13.python的文件操作
#-*-coding:UTF-8-*-#python文件操作#字符对象操作import localeprint locale.getpreferredencoding() #得到系统默认的编码信息with open('C:\Users\Administrator\Desktop\工作计划.txt'.decode('utf-8'),'r') as f:原创 2012-04-01 13:05:30 · 1227 阅读 · 0 评论 -
22迭代器和iter()函数
1.什么是迭代器? 根本上说,迭代器就是一个有next()方法的对象,当我们需要下一个项目时,调用迭代器的next()方法就可以获取它。条目全部取出后,会引发一个StopIteration异常,告诉外部使用者,迭代完成。 使用迭代器#-*-coding:UTF-8-*-mytuple=(1,2,3,4,5,6)i=iter(mytuple原创 2012-04-03 20:42:07 · 1594 阅读 · 0 评论 -
24.python传递可变长的非关键参数和关键参数
非关键参数就是没有指定参数名的参数,关键参数就是制定了参数名的参数。例子:(非关键字可变长参数)#-*-coding:UTF-8-*-def dec(a,b,c,*ne): print a,b,c for n in ne: print ndec(1,2,3,4,5,6,7)例子2:(关键字可变长参数)#-*-coding:UTF原创 2012-04-03 21:35:26 · 1475 阅读 · 0 评论 -
python如何实现——日期加上天数的处理方法
在datetime模块中有一个timedelta这个方法,它代表两个datetime之间的时间差。我们可以使用它来实现。例子:import datetimenow = datetime.datetime.now()date = now + datetime.timedelta(days = 1)现在date就是明天了。当然,如果想得到昨天,就减去1.原创 2012-04-09 13:56:36 · 12221 阅读 · 2 评论 -
递归和迭代的区别
所谓递归,简而言之就是应用程序自身调用自身,以实现层次数据结构的查询和访问。 递归的使用可以使代码更简洁清晰,可读性更好(对于初学者到不见得),但由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多,而且,如果递归深度太大,可能系统资源会不够用。 往往有这样的观点:能不用递归就不用递归,递归都可以用迭代来代替。 诚然,在理论上,递归和迭代在时间复杂度方面是等价的(转载 2012-04-10 13:59:29 · 2016 阅读 · 0 评论 -
python——用map函数来将序列中的元素集体转变类型
在工作中,我们会遇到需要将一个序列中的所有元素从一种类型转换成另外一种类型的需要,我们可以使用map()内建函数来实现:map函数作用是将序列中的每个元素都通过一个函数来计算,返回一个新的列表:例子: date=‘2012-12-12’ list=str(date).split('-') list=map(lambda x:int(x)原创 2012-04-10 16:47:01 · 3519 阅读 · 0 评论 -
Python性能鸡汤---大东哥
第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!"毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万转载 2012-05-16 11:10:02 · 2904 阅读 · 0 评论 -
python字符串的操作——python cookbook
一.文本1.每次处理一个字符thelist=list(thestring) #把字符串转成字符序列2.字符和字符值之间的转换>>> print ord('a')97>>> print chr(97)a>>> print ord(u'我')25105>>> print unichr(25105) #最大到65535我3.判断一个变量是否是字符串类型原创 2012-05-17 12:11:19 · 1180 阅读 · 0 评论 -
python的struct使用注意
python的struct模块可以让我们很方便的操作二进制数据,但是我们必须注意的是:我们在使用struct进行二进制操作的时候会发现,操作系统和硬件将影响程序是否正常运行。在Format = 'lllllfll' f = open('test.dat','rb') data = f.read(32) s=[] s.append(struct.unpack(Format,d原创 2012-05-24 17:02:05 · 2008 阅读 · 0 评论 -
python处理字符串编码
当用python处理字符串时,如果提示编码问题,如果提示的编码如下格式:'\u6211',则代表这个字符串的编码格式为gb2312,我们只需要对其.decode('gb2312')就可以了。原创 2012-06-21 16:02:32 · 1250 阅读 · 0 评论 -
python写的批量操作远程主机脚本(命令执行,上传、下载文件)
最近在学习python,借助fabric模块写了个批量操作服务器的脚本,在此分享给大家,如有不足之处,欢迎大家指正准备工作:安装python 2.6.5:yum -y install readline*tar xf Python-2.6.5.tar.bz2cd Python-2.6.5将目录下Modules/Setup.dist文件中"readline readline.c转载 2012-07-09 17:51:55 · 2011 阅读 · 0 评论 -
非常好的python资源!不可错过!
http://www.douban.com/group/topic/13716762/http://www.douban.com/group/topic/13716762/非常好的python资源!google python style guide中文版http://www.bsdmap.com/articles/zh-google-python-style-guide/pytho原创 2012-06-27 10:13:52 · 2681 阅读 · 0 评论 -
安装python的cx_Oracle模块
我的实践过程:1,将oci.dll文件(从oracle安装目录搜索)复制到python安装目录的Lib\site-packages下,如 C:\Python26\Lib\site-packages2,添加环境变量: ORACLE_HOME = D:\oracle\ora92; PATH = .;%PATH%;D:\oracle\ora92\bin; LD_LIBRARY_转载 2012-07-19 17:59:58 · 2136 阅读 · 0 评论 -
python的沙盒环境--virtualenv
VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。使用 VirtualEnv 的理由:隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。 使用说明:安装:转载 2012-08-07 17:33:04 · 6055 阅读 · 1 评论 -
Notepad++编辑Pyhton文件的自动缩进的问题(图文)
这个问题一直困扰我很久,Python对缩进很敏感,一般建议缩进用空格,而Notepad++的自动缩进是用的TAB,google过,baidu过,都提到在首选项中有个将TAB用4个空格代替的选项,可我一直找不到这个选项,经过N个版本更新后依然如初,甚至还下载过一些插件希望能解决,但无果。 今天终于在帮助文档中找到答案了(HELP很重要啊!!!),特记录之,免日久又忘掉。 如果你想转载 2012-08-16 11:00:35 · 1603 阅读 · 0 评论 -
Python线程指南
1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时转载 2012-08-29 11:35:38 · 1196 阅读 · 0 评论 -
Matplotlib中文显示的问题
#Matplotlib中文显示有问题,当然可以修改配置文件matplotlibrc ,不过较为麻烦.其实只要在代码中指定字体就可以了 #第一种方法: # -*- coding: utf-8 -*- from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei']#指定默认字体 mpl.rcParams转载 2012-08-20 16:59:09 · 1876 阅读 · 0 评论 -
最常用的python实现
1.判断一个列表是否为空 a=[] if a : print '不为空' 2.判断一个变量是否存在 if vars().has_key('s') #s为变量名 3.判断一个文件是否存在 os.path.isfile(path) #这里的path是全路径 4.判断一个文件夹是否存原创 2012-08-30 15:56:59 · 1683 阅读 · 0 评论