Brief History of Python
Python 2 release in 2000
Python 3 release in 2008
Key differences aim to make Python more powerful and easier to use
Print function
Python 2: print "Hello, world!"
Python 3: print("Hello, world!")
Integer division
Python 2: 3/2 = 1
Python 3: 3/2 = 1.5
Python 2: Strings are ASCII by default. Unicode string with u"unicode"
Python 3: All strings are Unicode. Bytes type for ASCII text: b"ascii"
Changes in standard library
Python 2: urllib
, urllib2
, httplib
Python 3: Unified under urllib
package
Range function
Python 2: xrange()
for efficient looping
Python 3: range()
is now like xrange()
Syntax for exception handling
Python 2: except IOError, e:
Python 3: except IOError as e:
Enhancements in iteration
Python 3 introduces new behavior for dict methods .keys()
, .items()
, and .values()
which return views instead of lists
Python 2 end of life in 2020
No more official support or updates
Encouragement to migrate to Python 3 for security and latest features
Tools like 2to3
can help in converting Python 2 code to Python 3
Considerations for maintaining compatibility
Importance of testing during migration
Python 3 offers significant improvements and is the future of Python
Transitioning to Python 3 is essential for access to new features and continued support
Official Python documentation