10 2013 档案

摘要:什么是生成器? 生成器是一个包含了特殊关键字yield的函数。当被调用的时候,生成器函数返回一个生成器。可以使用send,throw,close方法让生成器和外界交互。生成器也是迭代器,但是它不仅仅是迭代器,拥有next方法并且行为和迭代器完全相同。所以生成器也可以用于python的循环中,如何使用?首先看一个例子: 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 4 def flatten(nested): 5 for sublist in nested: 6 for element in sublist: 7 ... 阅读全文
posted @ 2013-10-11 18:20 yupeng 阅读(1315) 评论(0) 推荐(1) 编辑
摘要:什么是迭代器? 迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,next方法就会引发StopIteration 的异常。python中有很多的对象都是迭代器,例如:列表,元素,字符串,文件,映射,集合如何使用迭代器?1. for 变量 in 可迭代对象例如:list1 = [1,2,3,4,5]for ele in list1: print ele,结果为:1 2 3 4 52. if 变量 in 可迭代对象例如:list1 = [1,2,3,4,5]var = 1if var in list1: print... 阅读全文
posted @ 2013-10-11 16:56 yupeng 阅读(547) 评论(1) 推荐(1) 编辑
摘要:#!/usr/bin/env python## Copyright 2009 Facebook## Licensed under the Apache License, Version 2.0 (the "License"); you may# not use this file except in compliance with the License. You may obtain# a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by app 阅读全文
posted @ 2013-10-10 23:08 yupeng 阅读(10340) 评论(0) 推荐(0) 编辑
摘要:什么是python的装饰器? 网络上的定义: 装饰器就是一函数,用来包装函数的函数,用来修饰原函数,将其重新赋值给原来的标识符,并永久的丧失原函数的引用。 在google上搜索下python 装饰器 可以搜索到很多关于很多的关于装饰器的文章,一个很简单,最能说明装饰器的例子如下:#-*- coding: UTF-8 -*-import time def foo(): print 'in foo()' # 定义一个计时器,传入一个,并返回另一个附加了计时功能的方法def timeit(func): # 定义一个内嵌的包装函数,给传入的函数加上计时功能的包装 ... 阅读全文
posted @ 2013-10-10 22:22 yupeng 阅读(1112) 评论(0) 推荐(0) 编辑
摘要:在前面的例子用,我用了BeautifulSoup来从58同城抓取了手机维修的店铺信息,这个库使用起来的确是很方便的。本文是BeautifulSoup 的一个详细的介绍,算是入门把。文档地址:http://www.crummy.com/software/BeautifulSoup/bs4/doc/什么是BeautifulSoup?Beautiful Soup是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。直接看例子:#!/usr 阅读全文
posted @ 2013-10-10 19:39 yupeng 阅读(109836) 评论(0) 推荐(6) 编辑
摘要:在python中,对正则表达式的支持是通过re模块来支持的。使用re的步骤是先把表达式字符串编译成pattern实例,然后在使用pattern去匹配文本获取结果。其实也有另外一种方式,就是直接使用re模块的方法,但是这样就不能使用编译后的pattern实例了。实例:#!/usr/bin/python# -*- coding: utf-8 -*-import repat = re.compile(r'hello')match = pat.match('hello world!')if match: print match.group()match1 = re.ma 阅读全文
posted @ 2013-10-10 11:21 yupeng 阅读(1550) 评论(0) 推荐(0) 编辑
摘要:之前在ququ的博客上看到说 python 中的BeautifulSoup 挺好玩的,今天下午果断下载下来,看了下api,挺好用的,完了2把,不错。晚上写了一个使用python抓取58手机维修信息的精准的商家信息:废话不多说了,直接上代码:#!/usr/bin/python# -*- coding: utf-8 -*-import urllibimport os,datetime,stringimport sysfrom bs4 import BeautifulSoupreload(sys)sys.setdefaultencoding('utf-8')__BASEURL__ = 阅读全文
posted @ 2013-10-01 00:32 yupeng 阅读(1867) 评论(0) 推荐(1) 编辑