Processing Math: Done
No jsMath TeX fonts found -- using unicode fonts instead.
This may be slow and might not print well.
Use the jsMath control panel to get additional information.
jsMath Control PanelHide this Message


jsMath
Differences between revisions 9 and 10
Revision 9 as of 2016-05-25 13:39:49
Size: 1284
Editor: chapoton
Comment:
Revision 10 as of 2016-06-23 11:38:57
Size: 1306
Editor: chapoton
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
Here is a conversion table to help you adapt your code: Here is a conversion table to help you adapt your code in more complex cases:

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 in more complex cases:

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)

Python3-compatible code (last edited 2020-09-12 07:11:42 by chapoton)