strictly speakingprinting is not separate statement form in insteadit is simply an instance of the expression statement we studied in the preceding section the print built-in function is normally called on line of its ownbecause it doesn' return any value we care about (technicallyit returns noneas we saw in the preceding sectionbecause it is normal functionthoughprinting in uses standard functioncall syntaxrather than special statement form and because it provides special operation modes with keyword argumentsthis form is both more general and supports future enhancements better by comparisonpython print statements have somewhat ad hoc syntax to support extensions such as end-of-line suppression and target files furtherthe statement does not support separator specification at allin xyou wind up building strings ahead of time more often than you do in rather than adding yet more ad hoc syntaxpython ' print takes singlegeneral approach that covers them all call format syntacticallycalls to the print function have the following form (the flush argument is new as of python )print([object][sep='][end='\ '][file=sys stdout][flush=false]in this formal notationitems in square brackets are optional and may be omitted in given calland values after give argument defaults in englishthis built-in function prints the textual representation of one or more objects separated by the string sep and followed by the string end to the stream fileflushing buffered output or not per flush the sependfileand (in and laterflush partsif presentmust be given as keyword arguments--that isyou must use special "name=valuesyntax to pass the arguments by name instead of position keyword arguments are covered in depth in but they're straightforward to use the keyword arguments sent to this call may appear in any left-to-right order following the objects to be printedand they control the print operationsep is string inserted between each object' textwhich defaults to single space if not passedpassing an empty string suppresses separators altogether end is string added at the end of the printed textwhich defaults to \ newline character if not passed passing an empty string avoids dropping down to the next output line at the end of the printed text--the next print will keep adding to the end of the current output line file specifies the filestandard streamor other file-like object to which the text will be sentit defaults to the sys stdout standard output stream if not passed any object with file-like write(stringmethod may be passedbut real files should be already opened for output print operations