Вывод при помощи print
@pyproglibЧасто указывается, что основное различие Python 2-й и 3-й версий – это скобки после инструкции print. Это же означает, что инструкция print стала функцией, а значит, скобки могут включать какие-то дополнительные аргументы.
Так и есть. В print имеются следующие аргументы:
- строка sep (по умолчанию один пробел), вставляемая между объектами при выводе;
- строка end (по умолчанию \n), добавляемая в конец выводимого текста;
- file (по умолчанию sys.stdout) – любой объект, поддерживающий метод файлов write(string), то есть стандартный поток, файл и др.
Например, если нам не нужно объединять подстроки, а лишь напечатать суммарную строку:
for part in ["prog", "lib", ".io", "\n"]: print(part, end='') proglib.io
Тот же подход можно практиковать для чтения файлов:
for line in open('script.py'):
print(line, end='')
Присвоение аргументу end пустой строки приводит к тому, что строки файла не перемежаются пустыми строками. Иначе при чтении строк файла и использовании end по умолчанию символ окончания строки \n повторялся бы два раза.