|print_stmt||::=||"print" ( [expression ("," expression)* [","]]|
print evaluates each expression in turn and writes the resulting object to standard output (see below). If an object is not a string, it is first converted to a string using the rules for string conversions. The (resulting or original) string is then written. A space is written before each object is (converted and) written, unless the output system believes it is positioned at the beginning of a line. This is the case (1) when no characters have yet been written to standard output, (2) when the last character written to standard output is "\n", or (3) when the last write operation on standard output was not a print statement. (In some cases it may be functional to write an empty string to standard output for this reason.) Note: Objects which act like file objects but which are not the built-in file objects often do not properly emulate this aspect of the file object's behavior, so it is best not to rely on this.
print also has an extended
form, defined by the second portion of the syntax described above.
This form is sometimes referred to as ``print chevron.''
In this form, the first expression after the
evaluate to a ``file-like'' object, specifically an object that has a
write() method as described above. With this extended form,
the subsequent expressions are printed to this file object. If the
first expression evaluates to
used as the file for output.
See About this document... for information on suggesting changes.