Функция print и параметр sep в Python
Функция print позволяет вывести текст на экран. Шаблон записи данной функции таков:
print(*items,sep=’ ‘,end=’\n’,file=sys.stdout,flush=False);
Все аргументы функции print являются ключевыми, т. е. передаются с указанием своего названия перед символом “=”. Передавать их можно в любом порядке.
- *items – объекты, которые необходимо вывести.
- sep – разделитель объектов.
- end – символы, ставящиеся после всех объектов.
- file— выбирает файл для вывода.
- flush— управляет переключением буферизации в файл.
Подробнее о параметрах функции
end
По умолчанию значением параметра end является “/n”. Если данный параметр не указать, то после вызова функции print произойдет перенос строки. Пример применения print без указания параметра end:
Код:>>> print(1, «Text 1», 2)
Вывод: 1 Text1 2
Если параметр end указать пустым, то перевода на новую строку не будет.
Код:>>>print(1, «Text 2″, 2, end=»)
Вывод: 1 Text 2>>>
Можно указать в значении параметра несколько символов, используя конкатенацию.
Код:>>>print(1, «Text 3», 2, end=’\n’+’-‘*5 +’\n’)
Вывод: 1 Text 3 2
file
Значением параметра file по умолчанию является sys.stdout, т. е. стандартный поток вывода. Также этому параметру можно присвоить файл, в который будет происходить вывод. Пример вывода текста в файл:
Код:f = open(‘testfile.txt’, ‘w’)
fori in range(5):
print(f’Number {i}’, file=f)
f.close()Вывод:Number 0 //записано в файл testfile.txt
Number 1
Number 2
Number 3
Number 4
flush
Flush – это параметр булевого типа со значением False по умолчанию. С его помощью можно отключить буферизацию. Для корректной работы функции sleep из модуля time необходимо установить параметр flush в значение True. Пример его использования:
Код:import time
fori in range(5):
print(‘Number ‘, i, flush=True)
time.sleep(2)Вывод: Number 0
Number 1//каждая строка выводится на экран через 2 секунды после предыдущей
Number 2
Number 3
Number 4
sep
Значением параметра sep по умолчанию является пробел. Sep можно применить для записи даты например:
Код:print(23, «03», 2021, sep=’.’)
Вывод:23.03.2021
Так же, как и в параметре end, здесь можно использовать конкатенацию строк. Пример такого использования:
Код:print(1, «Str», 2, sep=’\n’+’-‘*5 +’\n’)
Вывод:1
——
Str
——
2