老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python学习系列之 xrange和range的区别!

老男孩IT教育

常见问题

2021年1月26日 14:44

学习Python的时候,我们经常会看到xrange和range,那么Python中xrange和range有什么区别?跟着老男孩教育来看看吧。

  学习Python的时候,我们经常会看到xrange和range,那么Python中xrange和range有什么区别?跟着老男孩教育来看看吧。

  首先要说明一下,只有在Python2中才有Xrange和range;Python3中没有xrange,并且Python3中的range和Python2中的range有本质的区别,所以说这里的区别,主要针对Python2来说一下。

Python学习

  不同点:

  在py2中,range得到的是一个列表,即

  X=range(0,5)

  Print(type(X))#打印X的类型,结果是list

  Print(X)#结果是[0,1,2,3,4]

  Xrange得到的是一个生成器对象,即

  X=xrange(0,5)

  Print(type(X))#输出类型,结果为一个生成对象

  Print(X)#输出X,结果为xrange(0,5)

  共同点:

  它们的使用都是一样的,比如都可以用for循环遍历所有的值

  Python3中为什么只有range呢?这个range其实就是py2中的xrange,而不是range,因为使用生成器可以节约内存。

  比如:代码是for i in range(0,1000),如果使用py2中的range,得到的结果是0到999的列表,会占用很大空间;但是如果使用生成器的话,就会节省很大的资源。

  老男孩教育Python课程线下面授,讲师+助教+班主任+心理辅导老师+创始人职场思想课+导师毕业辅导,6位一体服务,全面保障你的就业竞争力。

  推荐阅读:

  Python解释器种类以及特点?Python入门学习班

  为什么大家都想要学习python呢?

  你知道python的优缺点吗?老男孩教育

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。