What's ending comma in print function for?

In python 2.7, the comma is to show that the string will be printed on the same line

For example:

for i in xrange(10):
     print i,

This will print

1 2 3 4 5 6 7 8 9 

To do this in python 3 you would do this:

 for i in xrange(10):
      print(i,end=" ")

You will probably find this answer helpful

Printing horizontally in python

---- Edit ---

The documentation, http://docs.python.org/2/reference/simple_stmts.html#the-print-statement, says

A '\n' character is written at the end, unless the print statement ends with a comma.


It prevents the print from ending with a newline, allowing you to append a new print to the end of the line.

Python 3 changes this completely and the trailing comma is no longer accepted. You use the end parameter to change the line ending, setting it to a blank string to get the same effect.


From Python trailing comma after print executes next instruction:

  1. In Python 2.x, a trailing , in a print statement prevents a new line to be emitted.
  2. The standard output is line-buffered. So the "Hi" won't be printed before a new line is emitted.

Tags:

Python