Difference Between Python 2 and 3

Python is a High-level programming language. It is a multi-paradigm, which is Object-oriented as well as Procedure oriented. Python was found by Guido van Rossum. It is an easy programming language to learn and can be used in a variety of applications. There are two main versions of Python and they are Python 2 and 3. This article discusses the differences between these two versions. The key difference between Python 2 and 3 is that Python 2 will get minimum support in future and Python 3 will continue to develop more in future.

CONTENTS

1. Overview and Key Difference
2. What is Python 2
3. What is Python 3
4. Similarities Between Python 2 and 3
5. Side by Side Comparison – Python 2 vs 3 in Tabular Form
6. Summary

What is Python 2?

Python is one of the most popular languages for programming. Many companies use Python language for application development. Google, YouTube, Dropbox are some of them. Python has a large community because it is easy to learn, read and to maintain. It supports procedure-oriented programming as well as object-oriented programming.

Python uses an interpreter to run the code. Unlike in a compiler based language, Python interpreter does not go through the whole code at once. Instead, it reads line by line and if the interpreter finds an error it stops preceding further and gives an error message to the user. Python 2 has been around longer, so it has more library availability. The most popular version of Python 2 is Python 2.7

What is Python 3?

Python 3 is considered the future of Python. It is developed to add more features and to fix bugs.It is continuously developing. Initially, Python 2 was popular but the idea of Python 3 is the future of the language, provided support to Python 3 as well.

Figure 01: Python 3 Print Function

The functionalities of Python 2 and 3 are mostly alike, there are differences between these two versions in syntax and handling. The main advantage of Python 3 is that new features will continuously be added to the language.

What are the Similarities Between Python 2 and 3?

  • Both are versions of Python Language and general purpose.
  • Both versions belong to High-level programming language category.
  • Both are a multi paradigm thus, supports Object-oriented programming and Procedure-oriented programming.
  • Both are interpreter based languages.
  • Execution is slow comparing to compiler based languages.
  • Both possess a syntax which is easy, and therefore, easy to write, read and maintain.
  • Both are easy to debug programs than other languages.
  • Both versions are a free and open source.
  • Both are cross platformed, and available on a variety of platforms such as Linux, Mac, Windows.
  • Python shell provides an interactive mode for both Python 2 and 3.
  • Both are capable to interface with various databases such as MYSQL, Oracle, MSSQL, SQLite etc.
  • Both use the automatic garbage collector for Memory management.
  • Both are capable of creating Graphical User Interfaces (GUI).
  • Both versions do not require to declare the type of the variable.
  • Both have availability of packages. e.g.- ‘Numpy’, ‘Scipy’ for Scientific computing, ‘Matplotlib’ for data visualization, ‘Django’, ‘Flask’ for building websites.
  • Both can implement Multithreading.

What is the Difference Between Python 2 and 3?

Python 2 vs Python 3

Python 2 is a version of Python programming language which will get minimum support and additional features in future. Python 3 is a version of Python programming language which is continually adding new features and bugs fixed.
 Print Function
In Python 2, it is not compulsory to use parenthesis. e.g. print “Hello World” In Python 3, it is compulsory to use parenthesis. e.g. print (“Hello World”)
Integer Division
In Python 2, integer division returns an integer.  7/ 2 gives 3. To get the exact answer, the programmer should use 7.0 / 2. 0. In Python 3, integer division can give a float answer. 7 / 2 will give 3.5.
 Unicode Support
To make a string Unicode in Python 2, should use a character ‘u’. e.g. u “Hello” In Python 3, string is Unicode by default.
Raw_Input() Function
In Python 2, raw_input() function is used to get input from the user. This function reads a string. In Python 3, raw_input() function is not available.
Input () Function
In Python 2, input() function can be used to read as strings if they are inside quotes else read as numbers. In Python 3, input() function reads the input as a string.
Next() Function
In Python 2, generator next() take the next value of the generator. In Python 3, it is written as next(generator).
Third Party Module Support
As Python 2 being there for a longer time, has more third-party module support. Some frameworks are still using Python 2. Python 3 has limited third-party module support.

Summary – Python 2 vs 3 

Python language has two versions. The difference between Python 2 and 3 is that Python 2 will get minimum support in future and Python 3 will continue to develop further in future.   Both shares similar capabilities but some of their syntax are different. Whatever the version is both are used for building applications. Python language is useful in fields such as Data Analytics, Machine learning, Natural Language Processing, Web Development, Scientific Computing, Image processing, Robotics, Computer Vision and many more.

Download the PDF Version of Python 2 vs 3

You can download PDF version of this article and use it for offline purposes as per citation note. Please download PDF version here Difference-Between-Python-2-and-3

Reference:

1.DigitalOcean. “Contents.” Python 2 vs Python 3: Practical Considerations | DigitalOcean, DigitalOcean, 29 Nov. 2017. Available here  
2.edurekaIN. YouTube, YouTube, 20 Feb. 2017.  Available here
3.Point, Tutorials. “Python 2 Vs Python 3.”, Tutorials Point, 31 Dec. 1969.  Available here
4.Point, Tutorials. “What is New in Python 3.” Tutorials Point, 15 Aug. 2017.  Available here

Image Courtesy:

1.’Python3-powered hello-world’ By Benjamin Hell  (Public Domain) via Commons Wikimedia