What's ending comma in print function for?

后端 未结 4 1676
小鲜肉
小鲜肉 2020-11-27 19:48

This code is from http://docs.python.org/2/tutorial/errors.html#predefined-clean-up-actions

with open(\"myfile.txt\") as f:
    for line in f:
        print          


        
相关标签:
4条回答
  • 2020-11-27 20:33

    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.

    0 讨论(0)
  • 2020-11-27 20:33

    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.

    0 讨论(0)
  • 2020-11-27 20:34

    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.
    0 讨论(0)
  • 2020-11-27 20:36

    in python 2.7:

    print line,
    

    in python 3.x:

    print(line, end = ' ')
    
    0 讨论(0)
提交回复
热议问题