Home >Backend Development >Python Tutorial >Why did python2 become 3?
A question that beginners will encounter is, why did Python2 become Python3? Which one is better, Python2 or Python3, and which one should I learn?
In the Python circle, the debate about Python 2 and Python 3 continues, always rising one after another. Although compatibility with Python 2 and Python 3 has been achieved to a certain extent in many projects, the problems between the two are still unavoidable and remain one of the key points that the programming community must pay attention to.
Current Situation
The Python core team has time plans for different Python versions. They plan to stop supporting Python 2 in 2020 and devote all their efforts to Python 3. Did you see a lot of familiar tools? In the near future, you will have to use Python 3 in these tools and really give up using Python 2. But there are still more than 2 years left, so it’s not too late. Those who are interested can also invest in various tools from Python 2 to Python 3 for code modification work. Python version 3.0 is a major upgrade compared to earlier versions of Python. Python3 must be the future trend, but it does not support backward compatibility, that is, the code we wrote in python2.7 version cannot be run directly in python3.
Core advantages of Python3
1. print becomes print()
The print in Python 2 is just a statement. In addition to outputting the following content, no other additional operations can be performed. When print() is used as a function, various keyword arguments can be added to improve the standard behavior and enable more additional operations.
2. By default, strings will be converted to Unicode encoding
A "trap" that Python developers often face is the encoding problem of strings. Countless Python developers have encountered this problem for more than a day or two when dealing with Unicode and often ASCII strings.
This type of problem will not occur as often in Python 3.x. Strings default to Unicode encoding and users will no longer need to use the terms Unicode and ASCII/non-Unicode strings. Python 3 uses the concepts of text and (binary) data instead of Unicode strings and 8-bit strings. All text is Unicode encoded, and encoded Unicode is represented as binary data.
3. Updated integer
(1) Single integer type
realizes the unification of int and long. Using int to exceed the native integer size no longer causes an OverflowError exception. The long type has disappeared in Python 3.0, and the suffix L has been deprecated.
(2) Changes in division
Given any two operands, "/" always returns a floating point number, and "//" always means downward division.
4. The source code of Python3 is UTF-8 encoded by default, so we don’t need to convert the Chinese encoding now, and can directly use and output Chinese.
The above is the detailed content of Why did python2 become 3?. For more information, please follow other related articles on the PHP Chinese website!