+ 首页>>技能>>实用技巧>>内容

技能range()和xrange()函数的实现261次围观

Python中range()和xrange()函数的实现

# -*- coding:utf-8 -*-
__author__ = 'kiven'

'''实现python range函数'''

def my_range(start, stop=None, step=None):
    result = []
    s = 1  # 步长
    if not step is None:
        s = step
    if not stop is None:
        while True:
            if start < stop:
                result.append(start)
                start += s
            else:
                break
    else:
        stop,start = start,0
        while True:
            if start < stop:
                result.append(start)
                start += s
            else:
                break
    return result

print my_range(1,10,4)
print range(1,10,4)
# -*- coding:utf-8 -*-
__author__ = 'kiven'

'''实现python xrange()函数'''
# 跟range函数的实现没有大的变化,只是使用yield 表示生成器
def my_xrange()(start, stop=None, step=None):
    result = []
    s = 1  # 步长
    if not step is None:
        s = step
    if not stop is None:
        while True:
            if start < stop:
                yield start
                start += s
            else:
                break
    else:
        stop,start = start,0
        while True:
            if start < stop:
                yield start
                start += s
            else:
                break

for i in my_xrange(1,10,2):
    print i

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 已有5个评论

开源中国精彩推送

基于开源中国OpenAPI开发
  • Copyright © 2014 DiggerPlus. 49 queries in 0.426 seconds.
    使用合作网站账号快速登录,更多精彩等着您: 开源中国