Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2006-04-25 05:49:52
Size: 632
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 5: Line 5:
== huangyi 2006-04-25 ==
Line 7: 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)