易截截图软件、单文件、免安装、纯绿色、仅160KB

Python重载学习手记

今天学习了一下Python的操作符重载,总结了几点比较神奇的东东:
------------------------------------------------------------------------------------------------------------
关于iter:
Technically, iteration contexts work by calling the iter built-in function to try to
find an _ _iter_ _ method, which is expected to return an iterator object. If it’s
provided,Python then repeatedly calls this iterator object’s next method to produce
items until a StopIteration exception is raised. If no such _ _iter_ _ method is found,
Python falls back on the _ _getitem_ _ scheme, and repeatedly indexes by offsets as
before, until an IndexError exception is raised.
所以为了使用iter,我们必须重载__iter__,然后再定义一个next方法,例子如下:
class Squares:
 def _ _init_ _(self, start, stop): # Save state when created
  self.value = start - 1
  self.stop = stop
 def _ _iter_ _(self): # Get iterator object on iter( )
  return self
 def next(self): # Return a square on each iteration
  if self.value == self.stop:
   raise StopIteration
  self.value += 1
  return self.value ** 2
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
利用__setattr__的时候,自己赋值不可以使用self.name = value,因为这个语句也是用了__setattr__
,这样重复使用,出错。要使用self.__dict__['name'] = value
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
利用__getattr__建立“私有”成员变量:
利用重载的__setattr__在每次取之前判断一下私有成员名字当中有没有,来实现私有,代码如下(取自
Learning Python)
class PrivateExc(Exception): pass
class Privacy:
&nb


相关文档:

c语言模拟perl python中的数组负数索引

int main()
{
int a[] = {1,2,3,4,5};
int i;
int * p = a;
for (p = a + 4, i = 0; i < 5; i++) {
printf("%d ",p[-i]);
}

return 0;
}

......

Twisted 网络开发python框架

twisted是一个专门用于python的网络开发的框架。可以说是现在python中新的一支至力于发展高性能网络开发的框架,发展很稳定。
http://twistedmatrix.com/trac/
http://www-128.ibm.com/developerworks/cn/linux/network/l-twist/part1/index.html
http://wiki.woodpecker.org.cn/moin/PyTwisted ......

python实现twitter client

公司的代理可以直接穿墙,自由访问Twitter、Facebook等网站,这两天研究了一下Twitter提供的API,用python写了一个twitter client,只实现了基本功能,查看自己的twitter消息,也可以不验证,查看public的twitter消息。其他功能实现类似。主要函数如下:
def fetch_with_proxy(proxy, username, password, url):
 &n ......

Python中执行shell命令的实例

1。
myCoolVariable="some_string"
os.system("echo myCoolVariable")
2.
>>> os.system('echo "asdg"')
asdg
0
>>> os.system("echo 'asdgwere'")
asdgwere
0
3.
$ python
>>>hamburger="potato"
>>>import os
>>>os.system("echo 'hamburger'")
potato
0
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号