web-dev-qa-db-fra.com

Gamme Python 3 vs gamme Python 2

J'ai récemment commencé à apprendre Python 3.
Dans python 2 range() peut être utilisé pour affecter des éléments de liste.

>>> A = []
>>> A = range(0,6)
>>> print A
[0, 1, 2, 3, 4, 5]

où, comme dans python 3 quand la fonction range() est utilisée, cela se produit

>>> A = []
>>> A = range(0,6)
>>> print(A)
range(0, 6)

pourquoi cela arrive-t-il?
Pourquoi le python a-t-il changé?
Est-ce un avantage ou un fléau?

8

en python 2, range est une fonction intégrée. ci-dessous est à partir de les documents officiels python . il retourne une liste.

range (stop)
gamme (démarrer, arrêter [ étape])
C'est une fonction polyvalente pour créer des listes contenant des progressions arithmétiques. Il est le plus souvent utilisé dans les boucles for.

vous pouvez aussi vérifier xrange existant seulement dans python 2. il retourne un objet xrange, principalement pour une itération rapide.

xrange (stop)
xrange (démarrer, arrêter [ étape])
Cette fonction est très similaire à range (), mais retourne un objet xrange au lieu d’une liste.

en passant, python 3 fusionne ces deux types en un seul type de données range, fonctionnant de la même manière que xrange en python 2. cochez les docs .

2
Leonard2