Что такое print в Python?
Функция print в языке программирования Python предоставляет простой способ вывода информации на экран. Она позволяет вывести текст, значения переменных и другие данные в консоль для отладки, анализа или визуализации результатов программы.
Синтаксис:
print(text, sep=' ', end='\n', flush=False)
- text : Один или несколько объектов, которые требуется вывести. Может быть строкой, числом, списком и т.д.
- sep=’ ‘ : Разделитель между объектами. По умолчанию — пробел.
- end=’\n’ : Завершающий символ строки. По умолчанию — новая строка.
- flush=False : Опция, указывающая, следует ли сбросить буфер вывода. По умолчанию — не сбрасывать.
Пример использования:
# Простой вывод текста print("Привет, мир!") # Вывод переменных с разделителем name = "Иван" age = 25 print("Имя:", name, "Возраст:", age) # Переопределение разделителя и завершающего символа print("Python", "это", "замечательно", sep='|', end='!\n')
Функция print является мощным инструментом для отображения информации в процессе разработки, тестирования и анализа данных в языке программирования Python. Её гибкость позволяет легко настраивать формат вывода в соответствии с потребностями программиста.
4. Функция print(), её синтаксис и возможности
При работе с вещественными числами возникает необходимость уменьшить размер дробной части (ограничить количество цифр после запятой), тогда необходимо воспользоваться форматным выводом.
Рассмотрим такую программу
\(print(«k k=»,»\)\(«.format(k))\)\(:7.3f\)>
На экране будет результат
Что означает эта запись:
1) фигурные скобки — место для вывода очередного элемента, т. е. числа;
2) после двоеточия — количество позиций для вывода числа (их в нашей записи \(7\));
3) после точки указано количество знаков после запятой, т. е. \(3\);
4) буква \(f\) означает, что выводимое число вещественное (если бы было целое, то нужно было бы поставить \(d\));
5) внутри \(format\) записано, значение какой переменной появится на экране, в нашем случае это \(k\).
Функция print() в Python, печатает объект
Функцию print() выводит объекты в текстовый поток, отделяя их друг от друга sep и заканчивая поток end . sep , end , file и flush , если они заданы, должны быть переданы в качестве аргументов ключевых слов.
Ключевые аргументы функции sep и end должны быть строками, они также могут быть None , что означает использование значений по умолчанию. Если ничего не передано, print() просто напечатает конец строки ‘\n’ .
Переданные объекты в функцию print() будут преобразованы в строку по тем же правилам, по которым работает str() .
Внимание:
В связи с тем, что объекты преобразуются в строки, функция не может быть использована с бинарными файловыми. Чтобы вести запись в такие файлы используйте file.write() .
Примеры вывода объектов на печать.
>>> print('Hello') # Hello >>> print('Hello', 'how are you?') # Hello how are you? >>> print('Hello', 'how are you?', sep='---') # Hello---how are you? >>> lst = ['Раз', 'Два', 'Три'] >>> for n, line in enumerate(lst, 1): . if len(lst) == n: . print(line) . else: . print(line, end='=>') . # Раз=>Два=>Три >>> print(11, 12, 13, 14, sep=';') # 11;12;13;14
Пример переноса строки при выводе на печать в print().
Явный перенос строки при печати с помощью символа новой строки \n
# использование символа новой строки `\n` в переменной >>> line = 'перенос строки при печати\nс помощью символа новой строки' >>> print(line) # перенос строки при печати # с помощью символа новой строки # использование символа новой строки `\n` в функции print() >>> print('перенос строки при печати\nс помощью символа новой строки') # перенос строки при печати # с помощью символа новой строки
Пример размещения строки в функции print().
Допустим есть длинная строка не требующая переноса при печати и ее необходимо уместить на экране IDE без горизонтальной прокрутки. Для этого необходимо вспомнить pep8 и свойства типа str .
>>> print('Допустим есть длинная строка не требующая переноса' ' при печати и ее необходимо уместить на экране.') # Допустим есть длинная строка не требующая переноса при печати и ее необходимо уместить на экране.
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция abs(), абсолютное значение числа
- Функция all(), все элементы True
- Функция any(), хотя бы один элемент True
- Функция ascii(), преобразует строку в ASCII
- Функция bin(), число в двоичную строку
- Класс bool(), логическое значение объекта
- Функция breakpoint(), отладчик кода
- Класс bytearray(), преобразует в массив байтов
- Класс bytes(), преобразует в строку байтов
- Функция callable(), проверяет можно ли вызвать объект
- Функция chr(), число в символ Юникода
- Класс classmethod, делает функцию методом класса
- Функция compile() компилирует блок кода Python
- Класс complex(), преобразует в комплексное число
- Функция delattr(), удаляет атрибут объекта
- Класс dict() создает словарь
- Функция dir(), все атрибуты объекта
- Функция divmod(), делит числа с остатком
- Функция enumerate(), счетчик элементов последовательности
- Функция eval(), выполняет строку-выражение с кодом
- Функция exec(), выполняет блок кода
- Функция filter(), фильтрует список по условию
- Класс float(), преобразует в вещественное число
- Функция format(), форматирует значение переменной
- Класс frozenset(), преобразует в неизменяемое множество
- Функция getattr(), значение атрибута по имени
- Функция globals(), переменные глобальной области
- Функция hasattr(), наличие атрибута объекта
- Функция hash(), хэш-значение объекта
- Функция help(), справка по любому объекту
- Функция hex(), число в шестнадцатеричную строку
- Функция id(), идентификатор объекта
- Функция input(), ввод данных с клавиатуры
- Класс int(), преобразует в тип int
- Функция isinstance(), принадлежность экземпляра к классу
- Функция issubclass(), проверяет наследование класса
- Функция iter(), создает итератор
- Функция len(), количество элементов объекта
- Класс list(), преобразовывает в список
- Функция locals(), переменные локальной области
- Функция map(), обработка последовательности без цикла
- Функция max(), максимальное значение элемента
- Класс memoryview(), ссылка на буфер обмена
- Функция min(), минимальное значение элемента
- Функция next(), следующий элемент итератора
- Класс object(), возвращает безликий объект
- Функция oct(), число в восьмеричную строку
- Функция open(), открывает файл на чтение/запись
- Функция ord(), число символа Unicode
- Функция pow(), возводит число в степень
- Функция print(), печатает объект
- Класс property(), метод класса как свойство
- Класс range(), генерирует арифметические последовательности
- Функция repr(), описание объекта
- Функция reversed(), разворачивает последовательность
- Функция round(), округляет число
- Класс set(), создает или преобразовывает в множество
- Функция setattr(), создает атрибут объекта
- Класс slice(), шаблон среза
- Функция sorted(), выполняет сортировку
- Декоратор staticmethod(), метод класса в статический метод
- Класс str(), преобразует объект в строку
- Функция sum(), сумма последовательности
- Функция super(), доступ к унаследованным методам
- Класс tuple(), создает или преобразует в кортеж
- Класс type(), возвращает тип объекта
- Функция vars(), словарь переменных объекта
- Функция zip(), объединить элементы в список кортежей
- Функция __import__(), находит и импортирует модуль
- Функция aiter(), создает асинхронный итератор
- Функция anext(), следующий элемент асинхронного итератора
Функция Print() в Python
На примерах узнайте, какие возможности предлагает функция print в Python.
Многие из вас при чтении этого руководства наверняка подумают, что в этой простой функции нет ничего нераскрытого, потому что именно с print многие начинают свое знакомство с Python, выводя на экран заветную фразу Hello, World! . Это естественно не только для Python, но и для любого языка, что функция print является базовой и одним из первых шагов при изучении как программирования в целом, так и конкретного синтаксиса. Однако со временем многие переходят к более продвинутым темам, забывая о возможностях простых на первый взгляд функций.
Это руководство целиком посвящено функции print в Python — из него вы узнаете о том, насколько она недооценена.
print("Hello, World!")
Hello, World!
Если в Python 2 скобки можно не использовать, то в Python3 они обязательны. Если их не указать, то будет вызвана синтаксическая ошибка.
print("Hello, World!")
File "", line 1 print "Hello, World!" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello, World!")?
Из текста выше можно сделать вывод, что в Python 3 print() — это не инструкция, а функция.
Чтобы убедиться, проверим type/class функции print() .
type(print)
builtin_function_or_method
Возвращается builtin_function_or_method . Это значит, что это ранее определенная или встроенная функция Python.
Предположим, что нужно добавить перенос строки или вертикальный отступ между двумя выводами. Для этого достаточно вызвать print() , не передавая аргументов.
print("Hello, World!");print("Hello, World!")
Hello, World! Hello, World!
print("Hello, World!") print() print("Hello, World!")
Hello, World! Hello, World!
Рассмотрим синтаксис функции print() .
print(value, . sep=», end=’\n’, file=sys.stdout, flush=False)
Как вы знаете, функция print выводит значения в поток данных или в sys.stdout по умолчанию. sys.stdout или стандартный вывод системы означают, что функция print выведет значение на экран. Его можно поменять на stdin или stderr .
Необязательные аргументы:
- sep — это может быть строка, которую необходимо вставлять между значениями, по умолчанию — пробел. Вставим список слов в print и разделим их с помощью символа новой строки. Еще раз: по умолчанию разделитель добавляет пробел между каждым словом.
print('туториал', 'по', 'функции', 'print()')
туториал по функции print()
# \n перенесет каждое слово на новую строку print('туториал', 'по', 'функции', 'print()', sep='\n')
туториал по функции print()
Также можно разделить слова запятыми или добавить два символа новой строки ( \n ), что приведет к появлению пустой строки между каждой строкой с текстом или, например, знак плюс ( + ).
print('туториал', 'по', 'функции', 'print()', sep=',')
туториал,по,функции,print()
print('туториал', 'по', 'функции', 'print()', sep='\n\n')
туториал по функции print()
print('туториал', 'по', 'функции', 'print()', sep=',+')
туториал,+по,+функции,+print()
Прежде чем переходить к следующему аргументу, end , стоит напомнить, что в функцию можно передать и переменную. Например, определим список целых чисел и вставим его в функцию pass . Это список и будет выведен.
int_list = [1,2,3,4,5,6] print(int_list)
[1, 2, 3, 4, 5, 6]
Предположим, есть две строки, а задача состоит в том, чтобы объединить их, оставив пробел. Для этого нужно в первой функции print указать первую строку, str1 и аргумент end с кавычками. В таком случае на экран выведутся две строки с пробелом между ними.
str1 = 'туториал по' str2 = 'функции print()' print(str1) print(str2)
туториал по функции print()
print(str1, end=' ') print(str2)
туториал по функции print()
Возьмем другой пример, где есть функция, которая должна выводить значения списка на одной строке. Этого можно добиться с помощью такого значения аргумента end :
def value(items): for item in items: print(item, end=' ') value([1,2,3,4])
1 2 3 4
file = open('print.txt','a+') def value(items): for item in items: print(item, file=file) file.close() # закройте файл после работы с ним. value([1,2,3,4,5,6,7,8,9,10])
import time print('Пожалуйста, введите ваш электронный адрес : ', end=' ') # print('Пожалуйста, введите ваш электронный адрес : ', end=' ', flush=True) # запустите код выше, чтобы увидеть разницу. time.sleep(5)
Пожалуйста, введите ваш электронный адрес :
А теперь посмотрим, как можно использовать функцию print для получения ввода от пользователя в Jupyter Notebook. Для этого используется встроенная функция input() .
tutorial_topic = input() print("Тема сегодняшнего урока: ", end='') print(tutorial_topic)
функция print() Тема сегодняшнего урока: функция print()
Здесь указан опциональный аргумент end , который объединяет статическую инструкцию в print и ввод пользователя.
Рассмотрим другие интересные способы вывода значений переменных в функции print .
-
Для отображения значения переменной вместе с определенной строкой, нужно лишь добавить запятые между ними. В этом случае положение строки и переменной не имеет значения.
a = 2 b = "PythonRU" print(a,"— целое число, а",b,"— строка.")
2 — целое число, а PythonRU — строка.
a = 2 b = "PythonRU" print(" — целое число, а — строка.".format(a,b))
2 — целое число, а PythonRU — строка.
Если поставить одинаковый номер индекса в обоих местах, то при выводе на этих позициях будут одни и те же значения.
a = 2 b = "PythonRU" print(" — целое число, а — строка.".format(a,b))
PythonRU — целое число, а PythonRU — строка.
- %d — это заполнитель для числовых или десятичных значений.
- %s — заполнитель для строк.
a = 2 b = "PythonRU" print("%d — целое число, а %s — строка."%(a,b))
2 — целое число, а PythonRU — строка.
Посмотрим, что произойдет, если указать %s для переменной a , которая является целым числом.
print("%s — целое число, а %s — строка."%(a,b))
2 — целое число, а PythonRU — строка.
Как видно, все работает. Причина в том, что функция print неявно выполняет typecasting и конвертирует целое число в строку. Но в обратном порядке это работать не будет. Функция не сможет конвертировать строку в целое число, а вместо этого выведется TypeError .
print("%d — целое число, а %d — строка."%(a,b))
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) in ----> 1 print("%d — целое число, а %d — строка."%(a,b)) TypeError: %d format: a number is required, not str
Вывод
Это руководство — отличная отправная точка для новичков, желающих добиться высокого уровня мастерства в Python. Поиграйте с функций print еще и разберитесь с другими возможностями, которые не были рассмотрены здесь.