python
xiaofeng_yan
这个作者很懒,什么都没留下…
展开
-
Python 之 使用全局变量
这里定义了两个全局的变量countx 和 county#!/usr/bin/env python#__metaclass__ = typenest = [[1,2],[3,4],5]countx = 0county = 0def flatten(nested): try: for sublist in nested: print 'sublist=',sublist#原创 2010-09-27 16:37:00 · 733 阅读 · 0 评论 -
python: 为什么元类里面会有函数调用类
我曾经看过一段python 代码。就是元类里面的函数返回了一个类。我百思不得其解。为什么要这么做呢?通过调试我终于明白为什么这么做了。>>> class test(type):... pass... >>> class test1(test):...原创 2011-09-06 11:17:29 · 1060 阅读 · 0 评论 -
python super
python super()一、问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(self): prin转载 2011-08-31 14:13:01 · 962 阅读 · 0 评论 -
python: 函数加括号,不加括号的区别
比如函数:def a(x): def b(y): return x+y return b这个函数最后那个return b没有括号但是函数函数运行很正常,当a(2)(3)这样调用的时候也可以正常计算值,我想的问的是,这里返转载 2011-08-31 14:16:34 · 6939 阅读 · 1 评论 -
python: 单列模式
单例模式的核心就是构造函数私有,在类内部new一个私有实例,然后提供一个方法可以从类外部调用从而得到该实例''''''class Singleton(object): _instance=None def __new__(cls,*args,**k转载 2011-08-31 14:20:02 · 922 阅读 · 0 评论 -
python: super
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递。举一个很常见的例子:>>> class Foo:def bar(self, message):p转载 2011-08-31 14:36:52 · 769 阅读 · 0 评论 -
python中eval, exec, execfile,和compile [转载]
eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同.最后,转载 2011-10-13 15:29:00 · 749 阅读 · 0 评论 -
python 文件结束
一直用python读文件都是文本文件。用的方法是:lines=open('ft.txt')但是前两天读一个几百兆的大文件的时候,遇到了奇怪的问题,觉得是内容没有读完。定位最后读到的行,用emeditor打开,发现有一个怪字符“”。编码是“\x001a”,一查,原来是文件结束符号。一直郁闷,奇怪为啥文本文件里面有文件结束符,试了好多办法,都不行,最后经limodou指点,原来转载 2012-03-29 16:29:59 · 1833 阅读 · 0 评论 -
python:event
event主要用在线程的通讯中,一个线程没有得到想要的资源,用event.wait()阻塞。当另一个线程给了相应的资源就用event通知所有的线程(用同一个event)其他的线程在得到之后就可以运行了。#event.pyimport threading class mythread(threading.Thread): def __init__(self,thread原创 2012-05-25 16:16:16 · 1874 阅读 · 0 评论 -
python: __call__() 为什么在绑定实例的时候会调用呢?
在网上看到一个网友的提问:>>> class test(type):... pass... >>> class test1(test):... def __call__(self):... print "I am原创 2011-09-05 16:41:15 · 4924 阅读 · 0 评论 -
python: isinstance
isinstance(object, classinfo)Return true if the object argument is an instance of the classinfo argument, or of a (direct or indir转载 2011-09-05 13:38:27 · 857 阅读 · 0 评论 -
python 之 看yield的返回值
<br />含有yield的函数就是生成器,不是普通的函数。生成器包含有迭代器,“雨果”不明白什么是生成器和迭代器参见<br />http://blog.csdn.net/xiaofeng_yan/archive/2010/09/27/5910215.aspx<br />下面重点说一下,怎么看 yield 的返回值。<br />大家要记住,看yield的值必须在循环里,因为只有在循环里才能使yield返回值或者具有可迭代的函数里如列表。<br />比如:<br />def test(lst):<br />原创 2010-09-28 14:48:00 · 5377 阅读 · 0 评论 -
python 之 yield
包含了关键字"yield"的函数就不是普通的函数。当含有这个关键字的函数被调用的时候,这个函数在遇到yield的时候会停止运行,并且返回一个迭代器(iterator)。每次请求一个值,就会执行生成的代码。直到遇到一个yield或者return。首先,我们先了解什么是迭代器。lst=[1,2,3,4,5]for i in lst print i从这个例子我们可以看的出来,每循环一次i的值就会指向列表的下一个元素,大家认为这是正常的,那么为什么i会得到列表的下一个元素呢?其实在for的循环原创 2010-09-27 17:50:00 · 6791 阅读 · 0 评论 -
for 之 循环引发异常
在python中如果在for中引用一个函数被告知寻展开一个元素,比如一个数字,这种情况会引发TypeError的异常。例如:#!/usr/bin/env pythondef test(lst): print 'test' for sublist in lst: print sublisttest(1)#############################运行结果:testTraceback (most recent call la原创 2010-09-28 14:04:00 · 1064 阅读 · 0 评论 -
python getopt
<br />python getopt getopt在PYTHON中的使用2007年05月19日 星期六 11:08在运行程序时,可能需要根据不同的条件,输入不同的命令行选项来实现不同的功能。目前有短选项和长选项两种格式。短选项格式为"-"加上单个字母选项;长选项为"--"加上一个单词。长格式是在Linux下引入的。许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单。<br />取得转载 2011-04-10 20:36:00 · 975 阅读 · 0 评论 -
pyton: subprocess
摘自:http://li2z.cn/2010/04/14/python_subprocess/此文和python内建函数一样,内容全部出自python官方文档,但是会有自己的理解,并非单纯的翻译。所以,如果我理解有误,欢迎指正,谢谢。从python2.4版本开始,你就可以用可以用转载 2011-07-28 15:45:50 · 1051 阅读 · 0 评论 -
python: 理解__str__
以下是我的理解,如果有错我的地方。请务必告诉我。不胜感激!在python语言里,__str__一般是格式是这样的。class A:def __str__(self):return "this is in str"事实上,__str__是被print函数调用的,一般都是return原创 2011-07-19 14:06:51 · 21839 阅读 · 0 评论 -
python: format
发信人: N23 (23号), 信区: Python标 题: zz What’s New in Python 2.6 翻译 (七) -PEP 3101: 改进的字发信站: 水木社区 (Tue Oct 7 17:20:45 2008), 转信PEP 3101:转载 2011-07-31 16:06:10 · 36203 阅读 · 0 评论 -
python: pickle cpickle
使用pickle模块你可以把Python对象直接保存到文件,而不需要把他们转化为字符串,也不用底层的文件访问操作把它们写入到一个二进制文件里。pickle模块会创建一个python语言专用的二进制格式,你基本上不用考虑任何文件细节,它会帮你干净利落地完成读写独享操作,唯一需要的只原创 2011-08-03 20:25:43 · 1243 阅读 · 0 评论 -
一个简单的爬虫
import urllib.requestimport reimport osimport timeimport sched# 写入错误日志方法def write_error_log(error_str): try: fh=open(data_path + "/error_log.txt", "a") fh.write(ti原创 2017-11-22 10:46:46 · 247 阅读 · 0 评论