Home  >  Article  >  Backend Development  >  Which version is newer, python2 or python3?

Which version is newer, python2 or python3?

anonymity
anonymityOriginal
2019-06-11 15:10:122367browse

Python2 or Python3?

py2.7 is the last version of the 2.x series. Development has been stopped and no new features will be added. End of support in 2020.

All the latest standard library updates and improvements will only appear in version 3.x.

Which version is newer, python2 or python3?

Python 3.0 was released in 2008, and 2.7 is the final version of 2.X and continues to be maintained.

Guido van Rossum's idea is not to provide backward compatibility with version 2.7.

The most significant improvement of Python 3.x is better Unicode support, and all text strings are Unicode by default. In Python 2.x, an error will be reported when writing Chinese directly, but in Python 3, Chinese can be written directly.

From the perspective of open source projects, the proportion of supporting py3 has been greatly increased. Well-known projects generally support py2.7 and py3.

py3 is more standardized and unified than py2, and unnecessary keywords are removed.

Python3.x continues to improve.

Main changes in Python3.x

Coding methods and performance

Faster running efficiency

The default source file encoding ASCII has been changed to UTF-8, and the coding=utf-8 added before the previous file is no longer needed

The processing of unicode has been significantly improved, and the efficiency has been significantly improved

Data types and basic operations

int and long are unified and unified into int

True, False, and None are all keywords

Must use b'...' to represent binary data, you can use u'..' to represent a string, or a string without adding u

Remove the <> inequality sign and use "! =" indicates the inequality sign relationship

Adjust the usage of the division symbol '/', only return floating point numbers, to return integers use "//"

has a single str type, its type is equivalent to 2.x's unicode, all strings in 3.x are unicode

range and dict changes

In 2.x, range will be different from xrange Create a list. It often appears in for loops, dictionaries, and lists. However, xrange was renamed range in 3.x. Using xrange in 3.x will trigger an error. At the same time, range returns an iterable object instead of a list. If you want to get a list data from the range result, you must use list(range(5))

dict.iterkeys(), dict.itervalues (), dict.iteritems() is replaced by keys() and values() and items(). Their return results are iterable objects similar to sets, rather than lists of key-value pairs. Thus, the set operation can be performed on the key and value entries without copying them.

Iterator

range returns an iteration object in python3, not a list , save memory to the maximum extent

zip(), map(), filter(), key(), value() all return iterable objects

The above is the detailed content of Which version is newer, python2 or python3?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn