Перейти к содержимому

Что такое утв в питоне

  • автор:

Python: функция print и параметр end

Функция print() используется для печати сообщения на экране. Давайте поподробнее рассмотрим ее и то как с ней можно работать в этой статье!

Начнем с простого примера:

print("Hello world!") print("Hello world!") print("I\'m fine!") a = 10 b = 10.23 c = "Hello" print(a) print(b) print(c) print("Value of a = ", a) print("Value of b = ", b) print("Value of c code-block"> 
Hello world!Hello world! I'm fine! 10 10.23 Hello Value of a = 10 Value of b = 10.23 Value of c = Hello 

Смотрите выходные данные вышеприведенной программы, функция print() заканчивается новой строкой, а результат следующей функции print() - печать новой строки (следующая строка).

Параметр end в print()

end - необязательный параметр в функции print() , и его значением по умолчанию является \n , что означает, что print() по умолчанию заканчивается новой строкой. Мы можем указать любой символ / строку как конечный символ функции print() .

print("Hello friends how are you?", end = ' ') print("I am fine!", end ='#') print() # prints new line print("ABC", end='') print("PQR", end='\n') # ends with a new line print("This is line 1.", end='[END]\n') print("This is line 2.", end='[END]\n') print("This is line 3.", end='[END]\n') 

И в консоли мы получим:

Hello friends how are you? I am fine!# ABCPQR This is line 1.[END] This is line 2.[END] This is line 3.[END] 

Ввод-вывод, оператор присваивания, арифметические операции

Функция print может выводить не только значения переменных, но и значения любых выражений. Например, допустима запись print(2 + 2 ** 2) . Также при помощи функции print можно выводить значение не одного, а нескольких выражений, для этого нужно перечислить их через запятую:

a = 1 
b = 2
print(a, '+', b, '=', a + b)

В данном случае будет напечатан текст 1 + 2 = 3 : сначала выводится зание переменной a , затем строка из знака “+”, затем значение переменной b , затем строка из знака “=”, наконец, значение суммы a + b .

Обратите внимание, выводимые значение разделяются одним пробелом. Но такое поведение можно изменить: можно разделять выводимые значения двумя пробелами, любым другим символом, любой другой строкой, выводить их в отдельных строках или не разделять никак. Для этого нужно функции print передать специальный именованный параметр, называемый sep , равный строке, используемый в качестве разделителя (sep — аббревиатура от слова separator, т.е. разделитель). По умолчанию параметр sep равен строке из одного пробела и между значениями выводится пробел. Чтобы использовать в качестве разделителя, например, символ двоеточия нужно передать параметр sep , равный строке ':' :

print(a, b, c, sep = ':')

Аналогично, для того, чтобы совсем убрать разделитель при выводе нужно передать параметр sep , равный пустой строке:

print(a, '+', b, '=', a + b, sep = '')

Для того, чтобы значения выводились с новой строке, нужно в качестве параметра sep передать строку, состоящую из специального символа новой строки, которая задается так:

print(a, b, sep = '\n')

Символ обратного слэша в текстовых строках является указанием на обозначение специального символа, в зависимости от того, какой символ записан после него. Наиболее часто употребляется символ новой строки '\n' . А для того, чтобы вставить в строку сам символ обратного слэша, нужно повторить его два раза: '\\' .

Вторым полезным именованным параметром функции print является параметр end , который указывает на то, что выводится после вывода всех значений, перечисленных в функции print . По умолчанию параметр end равен '\n' , то есть следующий вывод будет происходить с новой строки. Этот параметр также можно исправить, например, для того, чтобы убрать все дополнительные выводимые символы можно вызывать функцию print так:

print(a, b, c, sep = '', end = '')

Функция 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 еще и разберитесь с другими возможностями, которые не были рассмотрены здесь.

Что такое утв в питоне

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *