摘要:
python 异常处理是处理代码错误比较好的方法,可以让你写的代码比较健壮。下面就开始今天的异常处理相关知识。异常主要是下面4个语句来处理:try/except: 捕捉由系统或者是我们代码引起的异常并且恢复。try/finally: 无论是否异常发生,执行清理行为。raise:手动在代码中触发异常。assert:有条件的在代码中触发异常。异常在编程过程中主要是下面的几个用途:1 错误处理。比如捕捉2 事件通知。3 终止步骤。4 特殊的流程控制。由于这篇帖子已经讲了try exception的例子,这里主要说下:raise语句和assertraise:允许程序员强制指定的异常发生,使得我们处理异 阅读全文
摘要:
段时间工作比较忙,博客更新的时间又慢了,前几天刚旅游回来,和部门的同事去了富春江-三清山和姚林仙境,感觉挺不错的,坐了船也爬了山。感受了大自然的秀丽景色。废话不多话,今天给大家分享个python 批量查询网站的pr的应用,前段时间因为要批量的筛选外链的资源,而外链网站的PR则是一个重要的指标,特别是对做GG的SEO的朋友来说,我们肯定是希望筛选出很多有效的而且PR高的外链资源,由于要筛选的网站比较多,只有用程序来做了。代码贴出来,如果大家感兴趣可以运行下看看,要查询的网站我这里是放到文件里,你也可以放到数据库里,然后读出来。结果也是写到文件里,同样你也可以改代码,然后把查询的结果放到数据库里。 阅读全文
摘要:
今天在我的邮件里看到一个访问老王python博客的朋友给我发的一个问题,我把下面的代码运行了下,果然不一样。大家有兴趣的话,可以运行下下面的2个例子,然后想下是为什么,最好在下面的留言里面给出自己的看法,多多交流总是好的。>>> a=[1,2,3]>>> for x in a:>>> if x < 2:a.insert(0,5) //这样程序会一直跑,不会中断了>>> a=[1,2,3]>>> for x in a[:]: //如果换成这种写法,程序就会判断一次。>>> if x 阅读全文
摘要:
最近很多新手的朋友都在问我学习python需要哪些东西,其中就问到了编辑器这块,我一直都在用ulipad编辑器,也很感激limodou提供这么方便的编辑器给我们,所以也推荐给大家去试用下,希望对大家选择编辑器有帮助。这里给大家提供下ulipad2.5下载地址。感兴趣的朋友可以试试。如果你有ulipad相关的配置问题的话,可以看看我之前写的如何安装配置ulipad这里给大家推荐下python编辑器 阅读全文
摘要:
今天给大家分享下python 类的一些基础知识点,学到这里相信大家对python的了解已经有一定的程度了。今天说的python 类很合适那些做长期产品开发的朋友。python oop相比其他的比如C++,JAVA语言的话的理解和使用要更简单,它把一些复杂的语法特性给除去了。大家开始接触python 类的时候,可以把它想象成一棵树,树干=父类,树根=子类。树根吸收树干的营养,并且可以同时吸收几棵树干的营养,所以python 可以进行多继承,并且可以重写父类的属性和方法。class Person():def __init__(self,name):self.name = namedef say(s 阅读全文
摘要:
最近在做SEO的时候,为了让发的外链能够快速的收录,想到了利用ping的功能,google和百度都有相关的ping介绍,有兴趣的朋友可以去看看相关的知识。实现ping功能除了可以用一些开源的博客程序,比如WP,它是可以在后台设置ping地址的,只要设置好以后,你发帖子,就会自动的通知搜索引擎,我的博客已经更新了,而今天我用的方法是不通过WP等带有ping功能的博客,自己用python 在本地去ping 搜索引擎,从而达到快速收录的效果。附上代码:importreurlinfo='''http://www.cnpythoner.com/post/181.htmlurl2u 阅读全文
摘要:
今天给大家分享下python 类的一些基础知识点,学到这里相信大家对python的了解已经有一定的程度了。今天说的python 类很合适那些做长期产品开发的朋友。python oop相比其他的比如C++,JAVA语言的话的理解和使用要更简单,它把一些复杂的语法特性给除去了。大家开始接触python 类的时候,可以把它想象成一棵树,树干=父类,树根=子类。树根吸收树干的营养,并且可以同时吸收几棵树干的营养,所以python 可以进行多继承,并且可以重写父类的属性和方法。class Person():def __init__(self,name):self.name = namedef say(s 阅读全文
摘要:
上节课主要是说到了python 函数的相关知识,这节课给大家分享下python模块的相关知识。模块主要有下面的3个特点:1 代码重用:比如你用python做一个网站,会员相关的操作,比如用户登录,修改密码,退出,查询个人资料等相关信息,因为很多网站都是需要这些功能的,你可以把这些功能抽象出来形成一个用户的模块,从而方面你下次写程序的调用。2 命名空间的划分:模块还是python最高级别的程序单元。模块讲代码封转成一个软件包,避免变量名的冲突很有帮助,所以看来模块是组织系统的非常好的工具。3 实现数据的共享和服务:如果你需要的一个对象需要在很多地方使用,比如被函数或者文件调用,这个时候你可以把它 阅读全文
摘要:
上节课分享了python 语句的一些知识点,今天给大家分享下python 函数的知识。大家都知道用函数来代替编程过程中的不断拷贝的过程,能够大大减少代码工作,让代码最大程度的重用和最小化代码的冗余。我们通过函数式的编程,可以让复杂的系统得到分解,从而让我们更好的解决问题。下面具体的说下python 函数的基本知识。1 python 函数主要是通过def来进行函数操作的,def的功能是创建一个对象,并且赋值给某个变量。当python 运行到def语句时,它会生成一个函数对象并且复制给某个函数名,函数名就是函数的引用,相当于函数名存了函数对象的地址。2 函数是通过return 来返回值的,或者通过 阅读全文
摘要:
这篇文章主要是从我自己的观点来说说python 的好处和优势,让大家对学习python有更强的信心,相信python 前途无量。尤其是想学python 却没有下定决心的朋友。1 首先python 可以让你的编程工作更加的有趣和高效,解决程序员来做更多有意义的事情,享受生活,多结交朋友等等。因为可能其他的语言需要几百行代码完成的功能,它只需要几行代码就OK。2 python 的趋势在不断的前进,学习python的朋友在增加。我记得上次语言排名python 好像进步很快,说明它的优势渐渐被人所熟知,而且python的工作岗位近几年也越来越多。3 python 是很多行业朋友工作的好伙伴,不仅仅是编 阅读全文
摘要:
说到ulipad这个编辑器,我心情比较激动,自从开发用python一来就一直用ulipad,用了2年多了,期间也换个编辑器,发现用着用着还是不顺手,索性还是换回了ulipad,前段时间因为电脑出了点问题,不知道ulipad突然坏了不能运行,找了很久都没找到解决方法,最后只能和它的作者limodou前辈请教,很快就解决了这个问题,也很感谢他,现在又可以用ulipad来写程序,感觉挺好的。今天有个新手朋友他看到老王python的博文以后,也想用用ulipad, 他装了半天都没有装好,比较苦恼。我写这篇文章是想分享下自己安装配置ulipad的过程,希望对大家有帮助。这里主要是讲安装的过程,配置的话, 阅读全文
摘要:
最近在用python给自己的seo工作提高效率和节省时间,发现python真的很不错,可以完成很多事情。下面是我最近在用python为网站自动更新文章做了一个替换锚文本的工作,也是python 字符串一次替换多个字符的很好的应用。主要的思路是: 一篇文章里有一些我需要做锚文本的字符,我的目的是把字符替换成链接的形式,自动给网站加外链,而且为了链接的多样性,我用了几个候选的链接,让random随机让程序自己去选择,这个如果懂得SEO的朋友应该是清楚为什么要这么做的。下面我主要说说用到的python程序把。希望以后大家碰到需要再一个字符串里替换多个字符有一个很好的了解。我先定义了一个字典:字典ke 阅读全文
摘要:
上面一节课:我们大体的熟悉了下python的数据类型,这篇文章主要是讲python 语句,希望对大家学习编程有帮助。python语句主要包括:1赋值语句:a = 1 a,b = 1,22调用语句: log('aaa')3选择语句:a = 2if a >1 :print 'aaa'else:print 'bb'4循环语句: while5异常语句: try: except6函数语句: def info(a,b):.......上面介绍的python 语句和其他的语言的语句大体都差不多,你可以看下我之前写的python 控制语句,下面介绍下pyt 阅读全文
摘要:
python 强大的内置类型让我接触到python的时候开始慢慢的喜欢上它了,感觉既方便又好用,下面我们先一起学习下内置对象类型的好处:1内置对象能够使得我们编写程序更容易。2内置的对象效率更高,看过python源码剖析的朋友应该发现python很多内置对象都是用C来实现的,这样比你自己用python去构造一些数据类型效率要高。python 核心的数据类型有:数字,字符串,列表,字典,元组等。下面详细的学习下python的核心数据类型:1 数字包括整数,浮点数等。2 字符串的相关教程可以看看:python字符串连接,python 字符串替换和python 字符串截取3 列表的相关教程:pyth 阅读全文
摘要:
前面介绍的几个知识点,主要是对python 语言特点和python的运行步骤有个很好的认识,下面开始今天课程:python 如何运行程序对于刚接触一门新的编程语言的朋友来说,首先要把程序给运行起来,这点很重要,至少可以让自己对这门语言有一个很好的认识。要运行python脚本,可以有几个方面来实现:1直接在命令行里运行:这里要分不同的操作系统平台,主要是windows和linux,unix等系统。windows的话:在DOS窗口里,输入python就可以进入python的运行窗口,然后在里面写代码。如果提示:说明路径不对,这个时候你要用DOS命令切换到python的安装目录,比如我电脑的pyth 阅读全文
摘要:
我们要学python这门语言,首选要对它的内部运行要有一个很好的认识,这样对我们学习有帮助,那下面看看python是怎么运行的:1当python脚本运行的时候,第一步是把你写的代码编译成所谓的字节码,字节码可以提高运行速度。你如果稍微注意下,就可以看到当你运行完python代码以后,系统会自动生成一个.pyc的文件,比如:你的python 文件是test.py,那它会自动在当前目录里面生成一个test.pyc的文件,这里需要提示的话,就是你以后写程序如果修改了程序,比如test.py然后运行,发现结果还是原来的话,那就要考虑是不是它还在运行你的test.pyc的文件,而不是你的test.py文 阅读全文
摘要:
在学习python之前,我们一起来了解下python有哪些优点,以便让我们更好的了解它:Python是一种面向对象、直译式计算机程序设计语言,这种语言的语法简捷而清晰,具有丰富和强大的类库,基本上能胜任你平时需要的编程工作。它有哪些优点呢?1编写的代码质量高:采用缩进的方法,让代码的可读性更好,也很适合团队协作开发。2提高开发的效率:简单的语法,动态的类型,不过不要认为python仅可以完成简单的任务,其实他只是让复杂的编程任务变的高效和有趣,曾经我一个搞JAVA的朋友,他完成一个任务要写几百行代码,而我只写了10几行代码,的确python这们语言是想把程序员解放出来,腾出一些时间去享受生活。 阅读全文
摘要:
这段时间由于要做一个系统,时间比较忙,博客更新的就不及时,有点抱歉,还是说今天的话题把:因为要抓取一些google上面的搜索结果数据,开始用的是python传统的获取数据的方法比如:[python beautifulsoup多线程分析抓取网页] , [python SGMLParser] 来获取数据,后来采集了没多久,google就自动封掉了,期间尝试过换IP,模拟浏览器的方法用了一段时间还是不行,看来google防止抓取的功能太强了,正愁没思路的时候,偶然间在网上看到一个方法就是用google提供的api来或者结果,这样省时又省力,于是乎就研究起来了,最后10几行代码就搞定了,之前我写了上. 阅读全文
摘要:
最近用python做项目的时候用到了mysql,把用python抓取的一些是数据放到mysql里去,但是有个问题,因为从外面抓取的数据有带'等其他的不规则的数据,如果你直接调用插入数据的方法会提示报错,这个时候就需要用到python mysql 转义了。我开始以为MySQLdb没有内置的方法,原本打算自己去一个过滤的算法,后来想了想mysql这个模块应该自身会带一些转义的方法,于是带着这个信念不断的找,通过help方法和dir的方法终于找到了,原来是:escape_string如果你要用mysql转义字符串,那就可以看看下面的使用方法了:content = MySQLdb.escape 阅读全文
摘要:
上次写了一个关于python下载网页的教程,今天想和大家聊另外一个的库:python urllib很多网页处理都可以用urllib这个标准库来处理,下面我分享下平时用到的关于urllib方面的内容:1如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用:urllib.quote('要编码的字符串')2如果你请求对方的网页,确不想被封IP的话,这个时候就要用到代理了,其实用urllib代理还是比较简单的:proxies = {'http': '代理ip'}opener = urllib.FancyURLopener(proxies)f 阅读全文
摘要:
之前给大家分享的python 多线程抓取网页,我觉的大家看了以后,应该会对python抓取网页有个很好的认识,不过这个只能用python 来抓取到网页的源代码,如果你想用做python 下载文件的话,上面的可能就不适合你了,最近我在用python 做文件下载的时候就遇到这个问题了,不过最终得以解决,为了让大家以后碰过这个问题有更好的解决办法,我把代码发出来:fromos.pathimportbasenamefromurlparseimporturlsplitdefurl2name(url):returnbasename(urlsplit(url)[2])defdownload(url,loca 阅读全文
摘要:
记得原来分享了python 连接mysql的方法,最近我在另外一台电脑上安装了python2.5 和 mysql5.0,不知道为什么python连接不到mysql,报错no type....找了很多资料也不能解决问题,昨天直接python2.5卸掉,然后安装了python 2.6,结果问题解决了,可能那个MySQL-python.exe-1.2.1_p2.win32-py2.5.rar连接的安装包和2.5不兼容,看来只能连接python2.6了。我现在感觉在windows下很多python的扩展模块都不太好找,没有在linux下方便,还要自己挨个的去找,而不是一个命令就可以搞定,太蛋疼了。。 阅读全文
摘要:
最近在用python做一些网页分析方面的事情,很久没更新博客了,今天补上。下面的代码用到了1python 多线程2 网页分析库:beautifulsoup ,这个库比之前分享的python SGMLParser网页分析库要强大很多,大家有兴趣可以去了解下。#encoding=utf-8#@description:蜘蛛抓取内容。importQueueimportthreadingimporturllib,urllib2importtimefromBeautifulSoupimportBeautifulSouphosts=["http://www.baidu.com",&quo 阅读全文
摘要:
一个朋友问我的问题:我在学习python过程有各小问题,请您帮着解答: 我在交互模式中写了个函数:def adder(**args): sum=0 for x in args.keys(): sum+=args[x] return sum 随后调用,在交互模式中输入 adder({'a':1,'b':2,'c':3})为什么结果不是我所预期的求和呢? 而是报错。Traceback (most recent call last): File "<pyshell#22>", line 1, in adder({' 阅读全文
摘要:
前几天有一个朋友发了一个django方面的问题给我。具体是: 请问我在你给的那本《Django实战练习》中第二章 configuring your first Django project ,一步步按他的说明做完,由于我在、安装Django的文件夹有汉字出现错误,所以我就在同一个盘下见了个文件夹 Django-projects,setting中的设置是'NAME': 'D:\Django-projects'。最后运行时出现Unable to open database file的错误。看完网上的说法修改了文件夹的写入读出权限,可还是同样错误。不知为什么。我用的是 阅读全文
摘要:
前段时间为了查找自己的老王python的关键词排名怎么样,特意用python写了一个查找网页关键词排名的程序,感觉效果还不错。特别是查找关键词排名靠后的网页来说非常的方便,不用自己手动的去一个个的翻页,废话不说了,赶快上代码。#!/usr/bin/env python # -*- coding: utf-8 -*-#@author:wl#@qq:280026798@qq.com#@description:检测给定的关键字在百度上的排名import sys import urllib ,urllib2 import redef baidu(w,pn): '''返回当前页的 阅读全文
摘要:
老王python上次推出了解答python问题的活动,得到了很多朋友的支持,大家把自己在python中遇到的问题发给我,希望我能够很好的解决,谢谢你们对我的信任,我也希望能够尽全力的帮助你们。今天开始陆续的发出一些问题和解决方案,希望对你学习python有帮助。1 先看看问题:while True: reply=raw_input('enter text:') if reply=='stop': break print int(reply)**3print 'bye'在shell里输入上面代码(貌似已经注意缩进),但是还是提示:Indentati 阅读全文
摘要:
前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分享下大家,希望对大家学习有帮助。import sysimport MySQLdbreload(sys)sys.setdefaultencoding('utf-8')def getdata (): try: conn = MySQLdb.connect(host='localhost', user='root', passwd='root', db='test', port=3306, 阅读全文
摘要:
1 变量和赋值:Python是动态类型语言,不需要预先声明变量的类型。变量的类型在赋值的那一刻被初始化。Python变量名是大小写敏感的,即“cAsE”与“CaSe”是不同的变量,Python区分大小写。2 数字:Python有五种基本类型的数字。int(有符号整数)、long(长整)、bool(布尔)、float(浮点数)、complex(复数)。值得注 意的是:Python的长整型比C的范围要广得多,它仅限于用户计算机的虚拟内存总数,在未来的版本中,Python极有可能不再区分整型和长整型,而将 两种类型统一为长整型。复数这个类型在其它的语言中通常是不被直接支持,对复数的支持是Python 阅读全文
摘要:
我接触模块这个概念是从python开始的,之前学过的语言比如php,基本没有这个模块概念,只有文件包含,刚开始接触python模块的时候有些不适应,后来随时对python的慢慢了解,也熟悉起其中的一些知识了,今天给大家分享下python模块的相关知识。python 模板其实也是一个python文件,首先是一个文件的概念,里面放着代码,不过也不能完全按照这个概念来理解,在python里模块有另外一个含义就是名字空间的意思,那什么是名字空间呢?名字空间从字面意思理解就是存放名字的地方,我们把模块里面定义的方法或者变量的话,当做模块的属性,其实你也可以按照面向对象的方法来理解,因为python是万物 阅读全文
摘要:
python def和python lambda这2个有相似点也有不同点,今天给大家分享下自己的心得吧。先说说2个的相似点: 这两个很重要的相似点就是都可以定义一些固定的方法或者是流程,供给程序来调用,比如我们要定义一个变量加2的方法。首先看python def吧。definfo(x):returnx +2a = info(1)printa再看下python lambdaf = lambda x : x+2a = f(1)print a上面2种方式输出的结果都是3,如果你要完成一些固定的流程的话,上面两种你都可以任意选择。上面说到了相同点,现在说说不同点吧。它们的主要不同点是python de 阅读全文
摘要:
今天没事和大家一起聊聊python 函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样!我记得很久以前和大家聊过python列表操作方法,python列表非 常的强大,提供了很多内置的方法使得你可以通过python的列表结构和操作做很多你想要的事情,我记得它里面有一些方法,比如append,还有 sort方法,这几个方法应该在你的程序里时不时会出现吧,可见频率之高!我当时开始学习的话,用这2个列表方法的话,我是按照下面的方式来用的:a = [1,5,11,2]x = a.append('b')y = a.sort()我当时学python的 阅读全文