Функція print¶
Функція print
вже неодноразово використовувалася в книзі, але досі не розглядався її повний синтаксис:
Функція print виводить усі елементи, розділяючи їх значенням sep, та завершує виведення значенням end.
Всі елементи, що передаються як аргументи, конвертуються в рядки:
Для функцій f та range результат рівнозначний застосуванню str:
sep¶
Параметр sep контролює те, який роздільник використовуватиметься між елементами.
За замовчуванням використовується пробіл:
Можна змінити значення sep на будь-який інший рядок:
In [9]: print(1, 2, 3, sep='|')
1|2|3
In [10]: print(1, 2, 3, sep='\n')
1
2
3
In [11]: print(1, 2, 3, sep=f"\n{'-' * 10}\n")
1
----------
2
----------
3
Note
Всі аргументи, які керують поведінкою функції print, треба передавати як ключові, а не позиційні.
У деяких ситуаціях функція print може замінити метод join:
end¶
Параметр end контролює те, яке значення буде виведено після виведення всіх елементів. За замовчуванням використовується символ нового рядка:
Можна змінити значення end на будь-який інший рядок:
flush¶
За замовчуванням під час запису у файл або виведення на стандартний потік виводу буферизується вивід. Параметр flush дозволяє вимкнути буферизацію.
Приклад скрипта, який виводить число від 0 до 10 кожну секунду:
Спробуйте запустити скрипт і переконатися, що цифри виводяться раз на секунду.
Тепер, аналогічний скрипт, але числа виводитимуться в одному рядку
Спробуйте запустити функцію. Числа не виводяться по одному на секунду, а виводяться через 10 секунд.
Це пов'язано з тим, що при виведенні на стандартний потік виведення, flush виконується після символу нового рядка.
Щоб скрипт відпрацьовував як потрібно, необхідно встановити flush рівним True: