Параметры ‘sep’ и ‘end’ в операторе печати Python

Опубликовано в Программирование

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ: 14 МАРТА 2023 ГОДА

Все мы написали несколько операторов печати на Python с параметрами или без них. Но задумывались ли вы когда-нибудь о важности использования параметров sep и end для оператора print ?

В этом посте мы обсудим, как ‘ sep ’ и ‘ end 9Параметры 0008’ можно использовать для изменения способа вывода содержимого метода print на консоль.

Что такое параметры Python sep и end в Python?

Параметр end в Print используется для добавления любой строки в конце вывода оператора print в python, тогда как параметр sep используется для форматирования строк, которые необходимо напечатать на консоли, и добавления разделителя между струны.

Давайте узнаем больше об этих параметрах печати Python!

1.

Параметр end

Параметр end используется для добавления любой строки в конец вывода оператора print в Python.

По умолчанию print метод заканчивается новой строкой . Это означает, что нет необходимости явно указывать параметр end как ‘ \n’ . Это может быть интересно программистам с опытом работы на C/C++.

Давайте посмотрим, как меняется значение 9Параметр 0007 end изменяет содержимое оператора печати на экране.

В приведенном ниже примере показано, что передача ‘\n’ или отсутствие указания параметра end дают одинаковый результат. Выполните 2 строки кода за раз, чтобы увидеть результат.

 печать ("Учеба сегодня вечером")
распечатать("это круто")
print("Учеба сегодня вечером", end= "\n")
print("это круто") 

Вывод:

Учись сегодня вечером
это превосходно
Учись сегодня вечером
это круто 

С другой стороны, передача пробела в параметр end указывает, что конечный символ должен быть идентифицирован пробелом, а не новой строкой (что используется по умолчанию).

 печать ("Учеба сегодня вечером", конец = ' ')
print("это круто") 

Вывод:

Studytonight is awesome 

В приведенном ниже примере показано, что любое значение может быть передано в параметр end , и на основе содержимого оператора печати будет отображено конечное значение.

 print("Привет", end='Studytonight')
print("ты потрясающий") 

Вывод:

Привет, учись сегодня вечером, ты потрясающий 

2. Параметр

sep

Иногда нам может понадобиться напечатать несколько значений в программе Python в удобочитаемом виде. Вот когда в игру вступает аргумент sep . Аргументы, передаваемые программе, могут быть разделены разными значениями. Значением по умолчанию для сентября является пробел. 9Параметр 0007 sep в основном используется для форматирования строк, которые необходимо вывести на консоль, и добавления разделителя между строками для печати. Эта функция была впервые представлена ​​в версии Python 3.

Пример ниже показывает, что передача параметра sep

в виде пробела или отсутствие передачи sep вообще не имеет значения. Выполните каждую строку кода, чтобы увидеть результат.

 print("Учеба", "сегодня вечером")
print("Учеба", "сегодня вечером", sep = ' ') 

Вывод:

Учись сегодня вечером
Изучите сегодня вечером 

В приведенном ниже примере показаны различные значения, которые передаются параметру sep .

 print("Учеба", "сегодня вечером", sep = '')
print("Учеба", "сегодня вечером", sep = '&')
 

Вывод:

Учись сегодня вечером
Study & tonight 

Примечание:

Параметр sep , используемый вместе с end 9Параметр 0008 обычно используется в производственном коде для вывода данных в удобочитаемом виде.

 print("Учеба сегодня вечером","был","был","создан","для", sep = "_", end="_STUDENTS") 

Вывод:

Studytonight _ был _ создан _ для _STUDENTS 

Вывод:

В этом руководстве мы обсудили параметры sep и end в операторах печати Python, затем мы подробно обсудили их оба и выполнили примеры обоих. Вы можете бесплатно узнать такие удивительные вещи на StudyTonight. Мы предлагаем курс Python от начального до продвинутого уровня, который поможет вам улучшить свои навыки Python в очень веселой и интерактивной среде!

Вам также может понравиться

  • Проверка циклической идентичности двух списков с помощью Python

  • Функция setdefault в Python

  • Функция «trunc» в Python

  • Python *args и **kwargs Переменные

  • Синтаксис

. Как Python узнает, где находится конец функции?

спросил

Изменено 3 месяца назад

Просмотрено 189 тысяч раз

Я только изучаю python и не понимаю, когда заканчивается «def» функции?

Я вижу примеры кода, такие как:

 def myfunc(a=4,b=6):
    сумма = а + б
    возвращаемая сумма
моя функция()
 

Я знаю, что это не заканчивается из-за возврата (потому что я видел операторы if.

.. если FOO, то возвращает BAR, иначе возвращает FOOBAR). Откуда Python знает, что это не рекурсивная функция, которая вызывает сама себя? Когда функция запускается, она просто продолжает выполнять программу, пока не найдет возврат? Это привело бы к некоторым интересным ошибкам.

Спасибо

  • python
  • синтаксис
  • отступ

6

В Python пробелы имеют большое значение. Функция завершается, когда отступ становится меньше (меньше).

 определение f():
    передать # первую строку
    пройти # вторую строку
pass # <-- меньше отступов, не является частью функции f.
 

Обратите внимание, что однострочные функции можно записывать без отступа, на одной строке:

 защита f(): пройти
 

И еще есть точка с запятой, но это не рекомендуется :

 def f(): pass; проходить
 

Три приведенные выше формы показывают, как конец функции определяется синтаксически . Что касается семантики , в Python есть три способа выхода из функции:

  • Использование оператора

    return . Это работает так же, как и в любом другом известном вам императивном языке программирования.

  • Использование оператора дает результат . Это означает, что функция является генератором. Объяснение его семантики выходит за рамки этого ответа. Взгляните на . Может ли кто-нибудь объяснить мне оператор yield python?

  • Просто выполнив последний оператор. Если операторов больше нет и последний оператор не является оператором return , то функция существует так, как если бы последний оператор был return None . То есть без явного return оператор функция возвращает

    None . Эта функция возвращает Нет :

     определение f():
        проходить
     

    И этот тоже:

     определение f():
        42
     

1

Python чувствителен к пробелам в отношении отступов. Как только уровень отступа возвращается к уровню, на котором определена функция, функция завершается.

1

Чтобы быть точным, блок заканчивается, когда он сталкивается с непустой строкой, отступ не более чем на том же уровне, что и начало. Эта непустая строка не является частью этого блока Например, следующий вывод завершает два блока одновременно:

 def foo():
    если бар:
        печатать "бар"
print "baz" # одновременно заканчивает if и foo
 

Уровень отступа меньше или равен как для def, так и для if, следовательно, он завершает их оба.

Строки без оператора, без отступа, без значения

 определение foo():
    print "Строка ниже не имеет отступа"
    print "Все еще часть foo"
 

Но оператор, обозначающий конец блока, должен иметь отступ на том же уровне, что и любой существующий отступ. Далее следует ошибка:

 def foo():
    печатать "Все еще правильно"
   print "Ошибка, потому что в этом отступе нет блока"
 

Как правило, если вы привыкли к фигурным скобкам, просто сделайте отступ в коде, как они, и все будет в порядке.

Кстати, "стандартный" способ отступа - только с пробелами, но, конечно, возможна только табуляция, но, пожалуйста, не смешивайте их оба.

1

Интересно, что если вы просто печатаете в интерактивном интерпретаторе Python, вы должны следовать за функцией с пустой строкой. Это не работает:

 def foo(x):
  вернуть х+1
печатать "последний"
 

, хотя это вполне допустимый синтаксис Python в файле. Существуют и другие синтаксические различия при наборе текста в интерпретатор, так что будьте осторожны.

2

пробелы имеют значение. когда блок завершен, определение функции завершено.

, когда функция запускается, она продолжает работать до тех пор, пока не завершится, или пока не встретится оператор return или yield . Если функция завершается, не встречая , возвращается или , операторы yield Нет возвращается неявно.