Python
		
		
		
		Jump to navigation
		Jump to search
		
Welcome to the Python programming page. The Python language has evolved greatly over the year. Python 2 is nice for scripting and simpler tasks. Python 3 is a more substantial Object Oriented Programming Language. Most of the details herein will focus on Python 3. However, if there is any Python 2 examples included they will be designated as such. The reason for this is because there are a large number of syntax differences and each requires it's own interpreter. Python 2 has more complicated syntax than Python 3. Python 3 has an easier syntax compared to Python 2. A lot of libraries of Python 2 are not forward compatible. A lot of libraries are created in Python 3 to be strictly used with Python 3.
KEY DIFFERENCES
- Python 3 syntax is simpler and easily understandable whereas Python 2 syntax is comparatively difficult to understand.
 - Python 3 default storing of strings is Unicode whereas Python 2 stores need to define Unicode string value with “u.”
 - Python 3 value of variables never changes whereas in Python 2 value of the global variable will be changed while using it inside for-loop.
 - Python 3 exceptions should be enclosed in parenthesis while Python 2 exceptions should be enclosed in notations.
 - Python 3 rules of ordering comparisons are simplified whereas Python 2 rules of ordering comparison are complex.
 - Python 3 offers Range() function to perform iterations whereas, In Python 2, the xrange() is used for iterations.
 
| Basis of comparison | Python 3 | Python 2 | 
|---|---|---|
| Release Date | 2008 | 2000 | 
| Function print | print (“hello”) | print “hello” | 
| Division of Integers | Whenever two integers are divided, you get a float value | When two integers are divided, you always provide integer value. | 
| Unicode | In Python 3, default storing of strings is Unicode. | To store Unicode string value, you require to define them with “u”. | 
| Syntax | The syntax is simpler and easily understandable. | The syntax of Python 2 was comparatively difficult to understand. | 
| Rules of ordering Comparisons | In this version, Rules of ordering comparisons have been simplified. | Rules of ordering comparison are very complex. | 
| Iteration | The new Range() function introduced to perform iterations. | In Python 2, the xrange() is used for iterations. | 
| Exceptions | It should be enclosed in parenthesis. | It should be enclosed in notations. | 
| Leak of variables | The value of variables never changes. | The value of the global variable will change while using it inside for-loop. | 
| Backward compatibility | Not difficult to port python 2 to python 3 but it is never reliable. | Python version 3 is not backwardly compatible with Python 2. | 
| Library | Recently, many developers are creating libraries which you can only use with Python 3. | Many older libraries created for Python 2 are not forward-compatible. | 
Here, are prime reasons for using Python 3.x versions:
- Python 3 supports modern techniques like AI, machine learning, and data science.
 - Python 3 is supported by a large Python developer’s community. Getting support is easy.
 - It is easier to learn Python language compared to earlier versions.
 - Offers Powerful toolkit and libraries
 - Mixable with other languages
 
Python 2 vs. Python 3 Example Code
Python 3
def main():
  print("Hello World!")
  
if __name__== "__main__":
  main()
Python 2
def main(): print "Hello World!" if __name__== "__main__": main()