+ 2

По поводу print

Господа, возник небольшой вопрос. Если использовать несколько раз "print", то данные выводятся каждый раз с новой строки. Можно ли сделать так, и как это сделать, чтобы несколько "print" писали в одну строку? (не предлагать включить все данные в один print)

20th Nov 2016, 8:06 AM
inmated
inmated - avatar
1 ответ
+ 3
Да, у функции print есть несколько заданных по умолчанию аргументов. Один из них - end, символ, который добавляется в конце вывода. По умолчанию end = '\n', то есть символ перехода на новую строку. При вызове print, вы можете явно указать этот параметр: print('Some text', end='') #указываем пустой завершающий символ Также может быть полезен параметр sep. Он задает разделитель при выводе нескольких переменных: >>> print(1,2,3, sep='-') 1-2-3 С помощью параметра file, можно писать вывод не в sys.stdout, а в заданный файл и т.д. Полный список аргументов функции можно посмотреть в документации https://docs.python.org/3/library/functions.html?highlight=print#print Также есть функция sys.stdout.write(). Она в конце не добавляет пустую строку. >>> from sys import stdout >>> if True: stdout.write('Mytext') stdout.write('My2text') MytextMy2text Более того, print как раз и вызывает эту функцию при выводе в консоль. Таким образом, sys.stdout.write() к тому же еще и немного быстрее, что может оказаться важным при выводе больших объемов данных или соревновании алгоритмов на скорость.
20th Nov 2016, 9:29 AM
donkeyhot
donkeyhot - avatar