#! /usr/bin/env python
#encoding=utf8
"""
this script purpose is test __iter__ method
xiao mao write @ 2010-06-05
"""
class A:
def __init__(self,n):
self.n=n
def __iter__(self):
n=self.n
while n:
m=n%2
n/=2
print "--%s,%s"%(m,n)
yield m
print "=========="
for i in A(5):
print i
class B(dict):
def __init__(self):
self["a"]="a"
self["aa"]="aa"
self["1"]=1
b=B()
for k,v in b.iteritems():
print k,v
if b.has_key("b"):
print "has b"
elif b.has_key("aa"):
print "has aa"
else:
print "ddddd"
print type(b)
print isinstance(b,dict)
#encoding=utf8
"""
this script purpose is test __iter__ method
xiao mao write @ 2010-06-05
"""
class A:
def __init__(self,n):
self.n=n
def __iter__(self):
n=self.n
while n:
m=n%2
n/=2
print "--%s,%s"%(m,n)
yield m
print "=========="
for i in A(5):
print i
class B(dict):
def __init__(self):
self["a"]="a"
self["aa"]="aa"
self["1"]=1
b=B()
for k,v in b.iteritems():
print k,v
if b.has_key("b"):
print "has b"
elif b.has_key("aa"):
print "has aa"
else:
print "ddddd"
print type(b)
print isinstance(b,dict)

本文介绍了一个简单的Python脚本,用于测试自定义类中的__iter__方法。通过两个例子展示了如何创建迭代器对象并进行迭代操作,包括使用yield生成斐波那契数列,并演示了字典迭代器的用法。
1905

被折叠的 条评论
为什么被折叠?



