Size: 1258
Comment: better
|
Size: 1284
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
Here below are some instructions for going from Python2-only print to Python 3-only print. This can be used if you | Here below are some instructions for going from Python 2-only print to Python 3-only print. The Python 3 syntax can be used right now if you |
Behaviour of print
The behaviour of print differs in Python 2 and in Python 3.
In version 7.2, SageMath is using the Python 2 syntax for print. Later (no schedule yet) it will switch to the Python 3 syntax, where print is a function.
It is therefore a good idea to try to use print in a way that is compatible with both Python 2 and Python 3.
The easiest way to achieve this is to always use print(...) with a single string inside the parentheses.
For example, print("He has eaten {} bananas".format(10)) will work in both Python 2 and Python 3 and give the same result.
Here below are some instructions for going from Python 2-only print to Python 3-only print. The Python 3 syntax can be used right now if you add the line
from __future__ import print_function
as the first code line of your python files.
To convert print from Python 2 to Python 3, you basically need to add parentheses, and write print("x") instead of print "x". |
Here is a conversion table to help you adapt your code:
Python 2 |
Python 3 |
print a |
print(a) |
print a, b, c |
print(a, b, c) |
print x, |
print(x, end=" ") |
print >>sys.stderr, x |
print(x, file=sys.stderr) |