Differences between revisions 2 and 3
Revision 2 as of 2006-04-25 05:55:14
Size: 605
Editor: HuangYi
Comment:
Revision 3 as of 2006-04-25 05:56:09
Size: 602
Editor: HuangYi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
=== 模拟range的参数传递方式 == = 模拟range的参数传递方式 =

模拟range的参数传递方式

刚才写程序的时候突然想到的, 模拟个range ( range([start],stop,[step]) ) 的参数机制。

   1 def myrange(stop,start=None,step=None):
   2   if not start:
   3     return range(stop)
   4   elif not step:
   5     return range(stop,start)
   6   else:
   7     return range(stop,start,step)

测试:

   1 >>> myrange(5)
   2 [0, 1, 2, 3, 4]
   3 >>> myrange(1,5)
   4 [1, 2, 3, 4]
   5 >>> myrange(1,5,2)
   6 [1, 3]

呵呵, python果然够灵活。


huangyi/2006-04-25 (last edited 2009-12-25 07:11:12 by localhost)