12 2012 档案

摘要:每个程序员有自己合适的编辑器,根据平台和自己的机器配置,大家都可以列出自己使用的编辑器比如:vim emacs ulipadPythonforeclipsepydevNetBeanspyscripter我觉的找到合适自己的编辑器就行。 阅读全文
posted @ 2012-12-11 22:43 老王python 阅读(476) 评论(0) 推荐(0) 编辑
摘要:python控制语句和其它的语言的控制语句有些地方是不同的,python的一些哲学思想就体现在他的控制语句上。1比如python提倡简单实用的思想,它就没有switch语句,如果要实现switch语句的效果的话可以通过2个方法来写把(1)通过if elif 语句来实现if 条件:...elif 条件:...else:...(2)通过info = {}info = {'a':'1','b':2,'c':3,'default':'ss'}c = info.get('a','def 阅读全文
posted @ 2012-12-02 16:42 老王python 阅读(390) 评论(0) 推荐(0) 编辑
摘要:python可以方便地支持 多线程。可以快速创建线程、互斥锁、信号量等等元素,支持线程读写同步互斥。美中不足的是,python的运行在python 虚拟机上,创建的多线程可能是虚拟的线程,需要由python虚拟机来轮询调度,这大大降低了python多线程的可用性。我们经今天用了经典的生产者和 消费者的问题来说明下python的多线程的运用 上代码:#encoding=utf-8import threadingimport randomimport timefrom Queue import Queueclass Producer(threading.Thread): def __init__( 阅读全文
posted @ 2012-12-02 16:41 老王python 阅读(642) 评论(0) 推荐(0) 编辑
摘要:django处理一个Request的过程是首先通过django 中间件,然后再通过默认的URL方式进 行的。所以说我们要做的就是在django 中间件这个地方把所有Request拦截住,用我们自己的方式完成处理以后直接返回Response,那么我们可以简化原来的设计思路,把中间件不能处理的 Request统统不管,丢给Django去处理。如果你要在用户登录或者其它的处理过程中完成自己的一些处理,那django 中间件非常的合适,感觉和django form一样,提倡这种dry的哲学风格设计非常的有意思,下面具体跟着老王学习下把:先说下django 中间件的安装方法:为了激活中间件组件,把它添. 阅读全文
posted @ 2012-12-02 16:39 老王python 阅读(918) 评论(0) 推荐(0) 编辑
摘要:今天晚上不是很忙,所以早早的就在电脑的旁边开始写东西了。我今天给大家分享一个我自己用python写的自动登录 人人网的脚本,没办法就是懒!懒的输入帐号和密码,让python给我们减少工作量! 先上脚本吧,等下来讲下知识点:#!/usr/bin/env python#encoding=utf-8import sysimport reimport urllib2import urllibimport cookielibclass Renren(object): def __init__(self): self.name = self.pwd = self.content = self.domai. 阅读全文
posted @ 2012-12-02 16:38 老王python 阅读(1181) 评论(1) 推荐(0) 编辑
摘要:有的时候我们要进行数据缓存的话,要用到python 序列化 比如我们可以把一些配置的信息放到数组,字典或者做为类的属性,然后对数据进行 序列化,再把序列化好的数据放到文件里或者直接放到数据库里,这样可以方便下次要用数据的时候 对数据进行反序列化,再进行操作。 下面给个例子: 主要是用到了python pickle 先是定义一个字典。然后把数据序列化后放到文件里 info = {} info = {'name':'jay','age':20} import pickle f = open('1.txt','wb') 阅读全文
posted @ 2012-12-02 16:36 老王python 阅读(821) 评论(0) 推荐(0) 编辑
摘要:上一节老王我说了下django template 语法,可以通过django来把view里的数据显示在页面里,这节主要说下django template filter.django template 字符截取sliceReturns a slice of the list.Example:{{ some_list|slice:":2" }}If some_list is ['a', 'b', 'c'], the output will be ['a', 'b'].django template 阅读全文
posted @ 2012-12-02 16:35 老王python 阅读(469) 评论(0) 推荐(0) 编辑
摘要:python 引用:python一般内部赋值变量的话,都是传个引用变量,和C语言的传地址的概念差不多,比如a = [1,2,3]表示变量a保存了这个列表的地址python里可以用id()来查询下a在内存的地址是:675375852b = a 那b的内容是什么,地址又是什么呢?用print 输出下b的内容也是[1,2,3]然后我们查看下b的地址看下能否验证我们的结论print id(b)果然b的地址也是:675375852呵呵看来结论也正确的。这样会带来一个问题,因为变量a,和变量b都是保存了同一个列表的地址。如果我改变a指向的列表的值的话,那b指向的列表的值也同时改变比如:a[1] = 6pr 阅读全文
posted @ 2012-12-02 16:33 老王python 阅读(313) 评论(0) 推荐(0) 编辑
摘要:python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替换成自己想要的字符串的方法下面给个例子:import relink = re.compile("\d+")content = "laowang-222haha"info = re.sub(link,'www.cnpythoner.com',content)print infoinfo这个字符串就是替换好的re.sub 函数进行以正则表达式为基础的替换工作 1. >>> import re 2. >>> 阅读全文
posted @ 2012-12-02 16:31 老王python 阅读(7683) 评论(0) 推荐(0) 编辑
摘要:如果你要用python匹配字符串的开头或末尾是否包含一个字符串,就可以用startswith,和endswith比如:content = 'ilovepython'如果字符串content以ilove开始,返回True,否则返回Falsecontent.startswith("ilove")返回truecontent.startswith("sss")返回false如果字符串content以python结尾,返回True,否则返回Falsecontent.endswith('python')返回truecontent.en 阅读全文
posted @ 2012-12-02 16:29 老王python 阅读(5427) 评论(0) 推荐(0) 编辑
摘要:今天说下django template extends我之前写php的时候一般把公用的模板比如页面头部和页面底部全部分离出来,然后用require 'footer.php' 等这样如果要修改头部后者尾部连接的话。只要修改2个文件就可以了。开始我觉的这个已经非常好用了。但是我接触了django以后。发现django模板的继承功能比php的还更强大。。比如我们写一个index.php<html><head><title>test</title><div id="daohang">首页 python py 阅读全文
posted @ 2012-12-02 16:28 老王python 阅读(985) 评论(0) 推荐(0) 编辑
摘要:django template为设计者和程序员提供了不同的用法我先说下对设计者这块的把它里面主要分为3个部分把1是基本语法这块:和python的语法比较相似。也是if else for 等等。可以看下python 控制语句如果熟悉python的话,学起这个来应该比较简单2管道符号这块:如果你要改变对象属性的话。比如截取字符。还要去掉html格式等等。。对程度员这块的话。1可以对模板里面的方法进行重写。这样提高了模板的灵活性2可以直接把比如request等对象直接模板里用。对系统的扩展性比较好下几篇开始写django template 的连载,可能写的不是很好。。希望大家多多包涵!推荐给你几篇. 阅读全文
posted @ 2012-12-02 16:27 老王python 阅读(522) 评论(0) 推荐(0) 编辑
摘要:python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性里面有个 sys.path属性。他是一个list.默然情况下导入文件或者模块的话,他会先在sys.path里找模块的路径。如果没有的话,程序就会报错。所以我们一般自己写程序的话。最好把自己的模块路径给加到当前模块扫描的路径里,eg: sys.path.append('你的模块的名称'),这样程序就不会因为找不到模块而报错。。我感觉sys.path和__init__.py 这2个东西开始学的时候比较容易出问题。所以要注意下。如果对这个兴趣,可以看看相关 阅读全文
posted @ 2012-12-02 16:23 老王python 阅读(911) 评论(0) 推荐(0) 编辑
摘要:python导入模块分为2种:1 import 模块名也可以2 modulename = 'haha'#模块字符串然后:m = __import__('mymodule')下面方法就可以用python 动态创建类如果要取得模块中的一个属性的话:可以用getattr(),比如:c = getattr(m, 'myclass') myobject = c() 但是要注意:如果myclass并不在mymodule的自动导出列表中(__all__),则必须显式地导入,例如: m = __import__('mymodule', globa 阅读全文
posted @ 2012-12-02 16:20 老王python 阅读(434) 评论(0) 推荐(0) 编辑
摘要:如何学习python呢?每个人都有自己的方法。只要能把它学好就行。下面说下老王这个半掉水的程序员的学习过程。我开始学习python也是到了一个公司以后才开始学的。之前我是搞php的。我开始学的时候是有公司的高手来带着我学习。先下载相关的版本,然后看相关的书籍。我把学习手册看完了。然后上机把后面的练习实践了一下。这样一遍下来。对它有个大概的了解。你说具体的话。我当时也答不上来,接着我就学习了下python的核心编程。感觉这本书的实践性比较强。介绍了很多相关的模块和包。然后我边看书边练习。这2个过程结束的话,基本写点小脚本是没问题的。该出手时就出手。你可以写个替换文件的程序,计算器程序。你想写什. 阅读全文
posted @ 2012-12-02 16:19 老王python 阅读(433) 评论(0) 推荐(0) 编辑
摘要:第2节讲了下django form 验证处理过程,这一节我们一起来学习下django form 的显示部分form的显示部分主要分为2部分:1统一的显示:比如在模板里是{{form.as_table}},{{form.as_p}}这样一次性可以把表单里的所有字段给显示处理:好处是主要在表单里写一点代码就可以了。缺点是如果你要对单个的表单元素的显示进行控制的的话。那就没办法了。有需求就有解决办法,下面介绍的是form 显示单个元素,比如:{{ field.label_tag }}: {{ field }}比如我的form有个qq字段。那么就是这样写:{{ form.qq.label_tag }} 阅读全文
posted @ 2012-12-02 16:15 老王python 阅读(460) 评论(0) 推荐(0) 编辑
摘要:前面讲了django form 定义这一块,对python的django的form有个大概的认识,这一节我主要讲下django form的验证处理处理分为两部分:1form自身处理2views里的处理form自身处理:假如我们定义一个用户的表单class Member(model.ModelFrom): def clean_username(self): 这个是对form里面的<input type="text" name="username">进行验证 """验证帐号""" ... 阅读全文
posted @ 2012-12-02 16:14 老王python 阅读(706) 评论(0) 推荐(0) 编辑
摘要:django是我接触过的框架中最好用的form,之前我也搞过php,也用过php的一些框架。但是感觉他们在处理form的时候都是力不从心。要不就是集成度太高了,不好扩展。要不就是功能不太强大不能应对web现在的复杂的环境,但是自从我学习了python,接触了它以后就发现django的form是多少的爽阿。下面我介绍下form的一些基本的东西,可能我介绍的不好。大家不要扔鸡蛋白菜哈!form表单可以自己定义表单也可以通过继承model来生成:表单主要完成4个功能1显示表当的样式(Widget)2通过规则验证表单数据(Field)3显示验证错误信息(Form)4把提交的数据转换成PYTHON的数. 阅读全文
posted @ 2012-12-02 16:12 老王python 阅读(581) 评论(0) 推荐(0) 编辑
摘要:你用django开发比较大的项目的时候,可能会想过让程序比较有好的维护性。比如一些配置信息放在一个地方管理。如果要修改的时候,只要修改一个地方就可以了。django的url一般会经常改变的。如果我们在views里做个处理,然后处理以后做跳转:def haha(request):..........HttpResponseRedirect('list/member')假设我们在url.py里是这样配置的:(r^'list/member','haha')如果我们接到老板的需求,需要改下list/member,那如果时间比较紧的情况下,你可能就会忘掉v 阅读全文
posted @ 2012-12-02 16:10 老王python 阅读(791) 评论(0) 推荐(0) 编辑
摘要:python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import。这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了。有没有办法,像Java的Package一样,将多个.py文件组织起来,以便在外部统一调用,和在内部互相调用呢?答案是有的。主要是用到python的包的概念,python __init__.py在包里起一个比较重要的作用要弄明白这个问题,首先要知道,python在执行import语 阅读全文
posted @ 2012-12-02 16:06 老王python 阅读(17213) 评论(3) 推荐(3) 编辑