Вывод при помощи print

Вывод при помощи 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 повторялся бы два раза.

Report Page