模拟range的参数传递方式

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

Toggle line numbers
   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)

测试:

Toggle line numbers
   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果然够灵活。

Action模式实现


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