Bertrand-Xavier M. wrote: > On Tuesday 25 July 2006 05:52, Eric Bishop wrote: > > Why does this work: > > > > # start > > a = 5 > > > > print a, 'is the number' > > > > #end, prints out "5 is the number" > > > > But not this: > > > > # start > > > > a = 5 > > > > print a 'is the number' > > > > #end, errors out > > > > The difference here is the comma seperating the variable and the string > > literal. Is the comma some sort of concatenation operator or is the comma > > necessary in some form of a requirement in the print function, i.e is the > > variable a an argument to print as well as 'is th number' another argument > > to print? > > Yes. > It allows to concat several variables, and also adds a space. > These do work as well: > > a = 5 > print "value is", a > print "value %s" %(a) > print "value is", a, '...' > > Regards, > Rob
Also, a comma at the end of a print statement surpresses the usual trailing newline (it will cause a space to appear instead if you print something else, but NOT if you write directly to stdout.) print "Hello", print "world!" # prints Hello world! on one line with a space between them, but import sys print "Hello", sys.stdout.write("world!") # prints Helloworld! Peace, ~Simon -- http://mail.python.org/mailman/listinfo/python-list