Параметры печати

Вы можете сделать больше, чем просто напечатать текст. print также имеет несколько параметров , чтобы помочь вам.

Аргумент sep : место строка между аргументами.

Вам нужно напечатать список слов, разделенных запятой или какой-либо другой строкой?

 >>> print('apples','bannas', 'cherries', sep=', ')
apple, bannas, cherries
>>> print('apple','banna', 'cherries', sep=', ')
apple, banna, cherries
>>> 

Довод end : использовать нечто иное , чем символ новой строки в конце

Без end аргумента, все print() функции записи строки , а затем перейти к началу следующей строки. Вы можете изменить его, чтобы он ничего не делал (используйте пустую строку ''), или двойной интервал между абзацами, используя две новые строки.

 >>> print("<a", end=''); print(" class='jidn'" if 1 else "", end=''); print("/>")
<a class='jidn'/>
>>> print("paragraph1", end="\n\n"); print("paragraph2")
paragraph1

paragraph2
>>> 

Довод file : отправить вывод куда - нибудь, кроме sys.stdout.

Теперь вы можете отправить свой текст в stdout, файл или StringIO, не обращая внимания на то, что вам дано. Если он крякает как файл, он работает как файл.

 >>> def sendit(out, *values, sep=' ', end='\n'):
...     print(*values, sep=sep, end=end, file=out)
... 
>>> sendit(sys.stdout, 'apples', 'bannas', 'cherries', sep='\t')
apples    bannas    cherries
>>> with open("delete-me.txt", "w+") as f:
...    sendit(f, 'apples', 'bannas', 'cherries', sep=' ', end='\n')
... 
>>> with open("delete-me.txt", "rt") as f:
...     print(f.read())
... 
apples bannas cherries

>>> 

Существует четвертый параметр flush , который будет принудительно очистить поток.