摘要:
1柯里化(Currying)一个函数有多个参数,我们希望能固定其中几个参数的值。from functools import partialdef foo(a,b,c): return a+b+cfoo2 = partial(foo, b=2)foo2(a=1, c=3)#=>6看上去这跟提供参数默认值的情况类似。但默认值只能固定为单个值,而柯里化能通过泛化出很多个函数,每个函数用不同的固定值,来看一下应用场景:from functools import partialbin2dec = partial(int, base=2)hex2dec = partial(int, base=16) 阅读全文
随笔分类 - python
scrapy入门
2013-07-19 11:36 by youxin, 935 阅读, 收藏, 编辑
摘要:
安装完scrapy后,创建一个新的工程:scrapy startproject tutorial会创建一个tutorial文件夹有以下的文件:tutorial/ scrapy.cfg tutorial/ __init__.py items.py ... 阅读全文
python _thread模块使用
2013-07-16 21:59 by youxin, 8148 阅读, 收藏, 编辑
摘要:
python关于线程管理的有2个类,_thread(在2.x的版本中叫thread)和threading。# encoding: UTF-8import threadimport time# 一个用于在线程中执行的函数def func():for i in range(5):print 'func'time.sleep(1)# 结束当前线程# 这个方法与thread.exit_thread()等价thread.exit() # 当func返回时,线程同样会结束# 启动一个线程,线程立即开始运行# 这个方法与thread.start_new_thread()等价# 第一个参数是方 阅读全文
python 正则表达式汇总
2013-07-16 00:32 by youxin, 506 阅读, 收藏, 编辑
摘要:
一、 正则表达式基础1.1.概念介绍正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程:正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。3.如果表达式中有量词或边界,这个过程会稍微有一些不同。下图列出了Python支持的正则表达式元字符和语法:1.2. 数量词的贪婪模 阅读全文
python爬虫实战2百度贴吧爬html
2013-07-16 00:04 by youxin, 447 阅读, 收藏, 编辑
摘要:
转自:http://blog.csdn.net/wxg694175346/article/details/8927832import string, urllib2 #定义百度函数 def baidu_tieba(url,begin_page,end_page): for i in range(begin_page, end_page+1): sName = string.zfill(i,5) + '.html'#自动填充成六位的文件名 print '正在下载第' + str(i) + '个网页,并将其存储为' + sName + ... 阅读全文
python IDE ulipad配置使用
2013-07-15 22:38 by youxin, 896 阅读, 收藏, 编辑
摘要:
一直认为认为python自带的编辑器idle实在是太简陋了,连显示行号的功能都没有,也非常不好编辑。找了下windows平台下的Ide,发现ulipad很多人推荐使用,就开始安装了。首先去官网:http://code.google.com/p/ulipad/下载对应版本,可以看到安装先决条件:Requirements:Python 2.3+wxPython 2.4.2.4+ Unicode VersionRecommends:Python 2.4+wxPython 2.8+ Unicode Version于是去下在wxPython:http://www.wxpython.org/downloa 阅读全文
python pythonic是什么?
2013-07-15 01:55 by youxin, 529 阅读, 收藏, 编辑
摘要:
原文地址:http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0注:Martijn是Zope领域的专家,他为Zope系列产品做了许多开发工作,也开发了lxml等多个开源产品。你可以在这里了解一下他的信息http://www.zope.org/Members/faassen。这篇文章写于2005年,虽然有少部分内容(主要是例子)看起来已经有些过时,但即便是在今天,它的中心思想依然有极高的指导意义。这是几个月前在EuroPython邮件列表(主要用来组织和计划EuroPython会议的邮件列表)出现的问题。这是一个非常有意思的问题,我看到这 阅读全文
python 模块BeautifulSoup使用
2013-07-15 01:53 by youxin, 4354 阅读, 收藏, 编辑
摘要:
BeautifulSoup是一个专门用于解析html/xml的库。官网:http://www.crummy.com/software/BeautifulSoup/说明,BS有了4.x的版本了。官方说:Beautiful Soup 3 has been replaced byBeautiful Sou... 阅读全文
python爬虫实战1
2013-07-15 01:13 by youxin, 703 阅读, 收藏, 编辑
摘要:
转载于:http://blog.csdn.net/dongnanyanhai/article/details/5552431首先推荐一个网站:中医世家,这个网站上有很多关于中医的资料,光是提供的中医书籍就有317Mb,全都是CHM格式,资料非常全面。 正因为这个网站有这么多的好东西,但是我又懒得一本书一本书的下载,所以,我就……用Python直接解析了几个书籍下载页面的地址,把所有的书籍的下载地址都弄到手,顺便还下载了,呵呵呵,省得一个页面一个页面的打开! #!/usr/bin/env python#coding=utf-8#这段代码是用来下载“中医世家”网站上的书籍的,很不好意思了!imp. 阅读全文
python os模块
2013-07-15 00:26 by youxin, 1235 阅读, 收藏, 编辑
摘要:
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 输出如:F:\pythonS 阅读全文
urllib2使用2
2013-07-13 18:23 by youxin, 627 阅读, 收藏, 编辑
摘要:
Timeout 设置importurllib2response=urllib2.urlopen('http://www.google.com',timeout=10) 在 HTTP Request 中加入特定的 Header要加入 header,需要使用 Request 对象:import urllib2request = urllib2.Request('http://www.baidu.com/')request.add_header('User-Agent', 'fake-client')response = urllib2 阅读全文
python 异常
2013-07-13 14:02 by youxin, 391 阅读, 收藏, 编辑
摘要:
当你的程序中出现某些异常的状况的时候,异常就发生了。例如,当你想要读某个文件的时候,而那个文件不存在。或者在程序运行的时候,你不小心把它删除了。上述这些情况可以使用异常来处理。假如你的程序中有一些无效的语句,会怎么样呢?Python会引发并告诉你那里有一个错误,从而处理这样的情况。错误考虑一个简单的print语句。假如我们把print误拼为Print,注意大写,这样Python会引发一个语法错误。>>> Print 'Hello World'File "", line 1Print 'Hello World'^SyntaxE 阅读全文
python urllib和urllib2 区别
2013-07-13 12:01 by youxin, 442 阅读, 收藏, 编辑
摘要:
python有一个基础的库叫httplib。httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现。一直以为urllib2是urllib2的升级版,其实不是。一篇老外写的文章:What is the difference between urllib and urllib2 modules of Python?You might be intrigued 好奇的by the existence of two separate URL modules in Python -urllibandu. 阅读全文
python类继承
2013-07-13 11:42 by youxin, 584 阅读, 收藏, 编辑
摘要:
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。假设你想要写一个程序来记录学校之中的教师和学生情况。他们有一些共同属性,比如姓名、年龄和地址。他们也有专有的属性,比如教师的薪水、课程和假期,学生的成绩和学费。你可以为教师和学生建立两个独立的类来处理它们,但是这样做的话,如果要增加一个新的共有属性,就意味着要在这两个独立的类中都增加这个属性。这很快就会显得不实用。一个比较好的方法是创建一个共同的类称为SchoolMember然后让教师和学生的类继承这个共同的类。即它们都是这个类型(类)的子类型,然后我们再为这些子类型 阅读全文
web.py入门
2013-06-30 23:48 by youxin, 355 阅读, 收藏, 编辑
摘要:
官网介绍:web.pyis a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.sudo easy_install web.py我安装的是0.37版。官网:http://webpy.org/教程:http://webpy.org/tutorial3.zh-cn 阅读全文
Python web框架有哪些
2013-06-30 23:43 by youxin, 316 阅读, 收藏, 编辑
摘要:
简单易学的web.py,大型的django;文档最完善、市场占有率最高、招聘职位最多。Tornado具体看:http://feilong.me/2011/01/talk-about-python-web-framework 阅读全文
python and 和 or
2013-06-29 17:35 by youxin, 531 阅读, 收藏, 编辑
摘要:
在Python中,and和or执行布尔逻辑演算,如你所期待的一样。但是它们并不返回布尔值,而是返回它们实际进行比较的值之一。例4.15.and介绍>>> 'a' and 'b' 'b'>>> '' and 'b' ''>>> 'a' and 'b' and 'c' 'c'使用and时,在布尔环境中从左到右演算表达式的值。0、''、[]、()、{}、None在布尔环境中 阅读全文
python 安装ssh和Scrapy
2013-06-28 20:24 by youxin, 3110 阅读, 收藏, 编辑
摘要:
在Python中没有专用的SSH模块,这需要手动的安装模块才行。Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,需要安装模块的顺序是pycrypto-〉paramiko。安... 阅读全文
python list comprehension twos for loop 嵌套for循环
2013-06-27 23:15 by youxin, 1598 阅读, 收藏, 编辑
摘要:
list comprehension 后面可以有多个for loops,每个for后面可以有if[(x, y, x * y)for x in(0,1,2,3)for y in(0,1,2,3)if x >> seq = ['abc', 'def', 'g', 'hi'] ... [y for x in seq if len(seq) > 1 for y in x if y != 'e'] ['a', 'b', 'c', 'd', &# 阅读全文