随笔分类 -  Python

1

Python中MySQLdb的各种常见用法
摘要:Python代码#-*-coding:utf-8-*-#mysqldbimporttime,MySQLdb#连接conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8")cursor=conn.cursor()#写入sql="insertintouser(name,created)values(%s,%s)"param=("aaa",int(ti 阅读全文

posted @ 2012-12-24 16:17 linzuxin 阅读(380) 评论(0) 推荐(0)

Python中urllib2总结
摘要:使用Python访问网页主要有三种方式: urllib, urllib2, httpliburllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session1. 最简单的页面访问res=urllib2.urlopen(url)print res.read()2. 加上要get或post的数据data={"name":"hank", "passwd":"hjz"}urllib2.urlopen(url, urllib.urlencode(data))3. 加上http头header={&quo 阅读全文

posted @ 2012-12-24 10:35 linzuxin 阅读(266) 评论(0) 推荐(0)

Python对象模型
摘要:Python对象模型对一门具体的编程语言来说,在应用设计模式时影响最大的莫过于它的对象模型了,这是因为大部分设计模式都源自于C++和Java这类面向对象编程语言。要想在Python中复用这些设计模式,首先需要对Python的对象模型有一个比较清晰的认识。4.1 类同其它面向对象编程语言一样,Python中的类也是一种用户自定义的数据类型,其基本的语法格式是: class <name>(superclass, ...): # 定义类 data = value # 共享的类变量 def method(self, ...... 阅读全文

posted @ 2012-10-29 09:56 linzuxin 阅读(368) 评论(0) 推荐(0)

典型递归算法例子-------Python实现
摘要:#!/usr/bin/python #coding=utf-8 ''' Created on 2012-9-25 @author: linzuxin ''' status = {} def factorial(n): ''' 输入一个数字,求其阶乘。status是一个hash,用来存储中间结果,避免重复计算 @param n: 要求的数字 @return: n的阶乘 ''' if n == 0 or n == 1: status[0] = 1 status[1] = 1 re... 阅读全文

posted @ 2012-09-26 16:56 linzuxin 阅读(275) 评论(0) 推荐(0)

0/1背包问题--Dynamic Programming
摘要:DP问题的特征:重复子问题存在最优子集背包问题属于经典的DP问题,而0/1背包问题是属于最简单的情况。0/1的意思是每种物品只有一件,要么放入背包中,要么不放问题定义:有N个物品,要放入容量为W的背包中,第i件物品重量为w(i),价值为v(i),问要怎样放才能在不超过背包容量的基础上,获得最大的价值。算法描述:需要用到递归的思想,定义A(i, j)为前i个物品中在容量为j的情况下所能达到的最大价值,则A(0,j) = 0,A(i,0) = 0(i <= N and j <= W).如果w(i) > j时,说明第i件物品不能放入背包中,价值不变,所以A(i, j) = A(i 阅读全文

posted @ 2012-09-25 22:28 linzuxin 阅读(204) 评论(0) 推荐(0)

python内置函数:lambda、map、filter
摘要:lambdalambda可以理解为一种小函数,但是它是一个表达式,而不是一个语句,所以在def不允许出现的地方仍然可以使用lambda函数,例如list里。但是lambda内只可以执行一个表达式。deff(x):returnx**2printf(3)a=lambdax:x**2printa(3)a=lambdax,y:x+yprinta(1,2)~一个lambda语句就相当于一个函数定义,调用的时候也和函数一样。map函数有时候我们可以需要处理一个列表里的所有元素,可以使用一个for循环来完成这个工作。但是Python内置的map函数可以帮我们的忙,它接受函数和列表作为参数,然后返回函数处理之 阅读全文

posted @ 2012-09-01 20:41 linzuxin 阅读(466) 评论(0) 推荐(0)

Python基础:Python可变对象和不可变对象
摘要:Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容是可变的,例如list。而不可变的对象则相反,表示其内容不可变。不可变对象:int,string,float,tuple(故其成员函数一般有返回值,返回新对象)可变对象 :list,dictionary(故其成员函数一般没有返回值,直接修改)一、不可变对象由于Python中的变量存放的是对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量的对象引用是可变的。运用这样的机制,有时候会让人产生糊涂,似乎可变对象变化了。如下面的代码:Java代码i=73i+=2从上面得知,不可变的对象的特征没有变, 阅读全文

posted @ 2012-08-30 22:47 linzuxin 阅读(198) 评论(0) 推荐(0)

Python tips: 什么是*args和**kwargs?
摘要:先来看个例子:def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1,b=2,c=3) foo('a', 1, None, a=1, b='2', c=3)输出结果如下 阅读全文

posted @ 2012-08-30 22:07 linzuxin 阅读(157) 评论(0) 推荐(0)

Bittorent-3.4.2服务器配置
摘要:ar zxvf Python-2.3.4.tgzcd Python-2.3.4configure --prefix=/usr/local/python-2.3.4make ; make installmv /usr/bin/python/usr/bin/python-1.5ln -s /usr/local/python-2.3.4/bin/python /usr/bin/python安装BitTorrenttar zxvf BitTorrent-3.4.2.tar.gzcd BitTorrent-3.4.2启动bt服务./bttrack.py --port 6969 --dfile dstat 阅读全文

posted @ 2012-08-30 09:55 linzuxin 阅读(288) 评论(0) 推荐(0)

[置顶] Django1.4典型例子(很详细的步骤)
摘要:Django知识总结1.创建一个工程:django-admin.pystartproject mysite,执行命令之后会生成如下目录树:2.启动服务器:pythonmanage.py runserver3.配置数据库、时区、需要安装的应用和开启管理界面、模板:修改mysite/settings.py4.构建完一个项目生成一个App:python manage.py startapp polls,执行命令之后会生成如下目录树:5.写一个App之前,需要先写model(即定义表结构和操作,表的主键自动创建):修改polls/models.py如下:6.写好模型后,需要激活模型(即更新数据库):p 阅读全文

posted @ 2012-08-25 00:21 linzuxin 阅读(249) 评论(0) 推荐(0)

Django常见命令
摘要:django-admin.py startproject test 创建一个项目名叫test的项目python manage.py startappapp 创建一个叫做app的APPpython manage.py runserver 启动服务器python manage.py validate 检查模型的有效性(说通俗点就是这个模型能不能在数据库中生成表,它只是检测,并没有真正生成)python manage.py sqlall app名称 打印这个app中创建数据库的SQL语句manage.py syncdb ... 阅读全文

posted @ 2012-08-23 15:16 linzuxin 阅读(145) 评论(0) 推荐(0)

matplotlib中文乱码解决方法
摘要:1、找到matplotlibrc文件D:\Python27\Lib\site-packages\matplotlib\mpl-data\matplotlibrc2、找到以下两项,去掉#font.family : sans-seriffont.sans-serif :Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif #添加“Microsoft YaHei”,该行指示缺省字体3、在写code的时候记得在字符串前加 阅读全文

posted @ 2012-08-17 21:35 linzuxin 阅读(158) 评论(0) 推荐(0)

python文件读写操作API
摘要:python进行文件读写的函数是open或filefile_handler = open(filename,,mode) Table mode模式描述r以读方式打开文件,可读取文件信息。w以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容a以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建r+以读写方式打开文件,可对文件进行读和写操作。w+消除文件内容,然后以读写方式打开文件。a+以读写方式打开文件,并把文件指针移到文件尾。b以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操 阅读全文

posted @ 2012-08-13 16:51 linzuxin 阅读(345) 评论(0) 推荐(0)

python中str()和repr()区别
摘要:str函数,它会把值转换为合理形式的字符串,以便用户可以理解。repr函数,会创建一个字符串,它以合法的Python表达式的形式来表示值。例如:Java代码>>>printrepr("hello,world!")'hello,world!'>>>printrepr(1000L)1000L>>>printstr("hello,wolrd!")hello,wolrd!>>>printstr(1000L)1000repr(x)的功能也可以用`x`实现(注意, `是反引号,而 阅读全文

posted @ 2012-08-12 16:05 linzuxin 阅读(288) 评论(0) 推荐(0)

Python内置的字符串处理函数整理
摘要:字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str))字母处理全部大写:str.upper()全部小写:str.lower()大小写互换:str.swapcase()首字母大写,其余小写:str.capitalize()首字母大写:str.title()print '%s lower=%s' % (str,str.lower())print '%s upper=%s' % (str,str.upper())print '%s swapcase=%s' % (str,str.s 阅读全文

posted @ 2012-08-12 15:57 linzuxin 阅读(364) 评论(0) 推荐(0)

python调用shell命令
摘要:1.1 os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。1.2 os.popen(command,mode) 打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r')。如果mode为’r',可以使用此函数的返回值调用read()来获取command命令的执行结果。os.system(cm 阅读全文

posted @ 2012-08-09 23:27 linzuxin 阅读(220) 评论(0) 推荐(0)

Python open读写文件实现脚本
摘要:1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object=open('thefile.txt')try:all_the_text=file_object.read( )finally:file_object.close( )注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。2.读文件读文本文件input=open('data','r')#第二个参数默认为rinput=open 阅读全文

posted @ 2012-05-24 14:03 linzuxin 阅读(460) 评论(0) 推荐(0)

python容器类型----列表的使用
摘要:python的容器主要包含列表列表,字典1、列表对象的方法包含:insert(i,x)--------在指定位置插入一项。第一自变量是要在哪一个元素前面插入,用下标表示。如:a.insert(0,x)在列表前面插入,a.insert(len(a),x)等价于a.append(x)append(x)---------等价于a.insert(len(a),x)index(x)----------在列表中查找值为x然后返回第一个x的元素的下标,没有找到时出错remove(x)---------在列表中删除第一个值为x的元素,找不到时出错sort()------------对列表元素在原位排序,这个方 阅读全文

posted @ 2012-05-24 13:58 linzuxin 阅读(180) 评论(0) 推荐(0)

Python random模块
摘要:random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串。random.random() 用于生成一个随机浮点数:range[0.0,1.0)1importrandom2random.random()#输出 0.5487876445645461random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,a,b为上下限,只要a!=b,就会生成介于两者之间的一个浮点数,若a=b,则生成的浮点数就是a1importrandom2random.uniform(10,20)#输出 15.9999970381523583random.uniform(20,10)#输出 12 阅读全文

posted @ 2012-05-18 17:00 linzuxin 阅读(197) 评论(0) 推荐(0)

Python time模块
摘要:Time模块表示方式:1.浮点型: 以1970.1.1到现在经过的秒数(Unix格式),如time.time(), time.mktime(struct_time)2.struct类元组:如time.localtime(), time.gmtime()对于struct_time形式输出函数可用分片的方法限制输出,如:1importtime2time.localtime()#struct类元组3time.localtime()[:6]#(2011, 10, 17, 16, 26, 58)time.time() 取从1970-1-1到当前时间的秒数,以浮点类型表示1importtime2time. 阅读全文

posted @ 2012-05-18 16:41 linzuxin 阅读(141) 评论(0) 推荐(0)

1

导航