Python 3 new features
ibm.com
ibm.com
Python 3.0 whatsnew http://docs.python.org/3.1/whatsnew/3.0.html
Python 3.1 whatsnew http://docs.python.org/3.1/whatsnew/3.1.html
They're clearer, more readable, more complete and linkable. No reason to use TFA.
This wasn't there previously? Ugh.
It was also possible in recent Python versions to switch this behaviour using "from __future__ import division" so they recognised it as a ward, but it's only with the decision to allow Python 3 to make backwards compatibility breaking changes that it could be changed normally.
Not that recent, the switch has been there since 2.2 alpha 2, released 8 years ago (August 22, 2001):
__all__ = ['all_feature_names', 'nested_scopes', 'generators', 'divisi...
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0...
all_feature_names = ['nested_scopes', 'generators', 'division', 'absol...
division = _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192...
generators = _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 0)
nested_scopes = _Feature((2, 1, 0, 'beta', 1), (2, 2, 0, 'alpha', 0), ...
print_function = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0)...
unicode_literals = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', ...
with_statement = _Feature((2, 5, 0, 'alpha', 1), (2, 6, 0, 'alpha', 0)...In Python 2.6, if one of the arguments is a float you'll get a float result, the same is true for Ruby 1.8.
The new behavior is to return a float even if two integers are passed.
Should give arc a run for its money.