2.1.1.9 Функция print() - ключевое слово arguments
Python предлагает другой механизм для передачи аргументов, который может быть полезен, если вы хотите убедить функцию print() немного изменить свое поведение.
Мы не собираемся сейчас подробно объяснять это. Мы планируем сделать это, когда будем говорить о функциях. А пока мы просто хотим показать вам, как это работает. Не стесняйтесь использовать его в своих программах.
Этот механизм называется аргументами ключевого слова (keyword arguments). Название происходит от того факта, что значение этих аргументов берется не из его местоположения (позиции), а из специального слова (ключевого слова), используемого для их идентификации.
Функция print() имеет два аргумента ключевого слова, которые вы можете использовать в своих целях. Первый из них называется концом (end).
В окне редактора вы можете увидеть очень простой пример использования аргумента ключевого слова.
print("My name is", "Python.", end=" ")
print("Monty Python.")
Для того, чтобы им пользоваться, необходимо знать некоторые правила:
Запустите код, чтобы увидеть, как он работает.
Теперь на консоли должен отображаться следующий текст:
My name is Python. Monty Python.
Как видите, аргумент ключевого слова end определяет символы, которые функция print() отправляет на вывод, когда он достигает конца своих позиционных аргументов.
Поведение по умолчанию отражает ситуацию, когда аргумент ключевого слова end неявно используется следующим образом: end = "\ n".
----- ----- ----- ----- -----
А теперь пора попробовать что-нибудь посложнее.
Если вы посмотрите внимательно, вы увидите, что мы использовали конечный аргумент, но присвоенная ему строка пуста (она вообще не содержит символов).
print("My name is ", end="")
print("Monty Python.")
Что будет теперь? Запустите программу в редакторе, чтобы узнать.
Поскольку конечный аргумент не имеет значения, функция print() тоже ничего не выводит, как только ее позиционные аргументы исчерпаны.
Теперь на консоли должен отображаться следующий текст:
My name is Monty Python.
Примечание: на выход не было отправлено никаких символов новой строки.
Строка, назначенная аргументу ключевого слова end, может иметь любую длину. Поэкспериментируйте, если хотите.
----- ----- ----- ----- -----
Ранее мы говорили, что функция print() разделяет свои выводимые аргументы пробелами. Это поведение тоже можно изменить.
Аргумент ключевого слова, который может это сделать, называется sep (например, separator).
Посмотрите код в редакторе и запустите его.
print("My", "name", "is", "Monty", "Python.", sep="-")
Аргумент sep дает следующие результаты:
My-name-is-Monty-Python.
Функция print() теперь использует тире вместо пробела для разделения выводимых аргументов.
Примечание: значение аргумента sep также может быть пустой строкой или любым символом. Попробуйте сами.
----- ----- ----- ----- -----
Оба аргумента ключевого слова могут быть смешаны в одном вызове, как и здесь, в окне редактора.
Этот пример не имеет особого смысла, но он наглядно демонстрирует взаимодействие между end и sep.
Вы можете предсказать результат?
print("My", "name", "is", sep="_", end="*")
print("Monty", "Python.", sep="*", end="*\n")
Запустите код и посмотрите, соответствует ли он вашим прогнозам.
My_name_is*Monty*Python.*
Теперь, когда вы понимаете функцию print(), вы готовы рассмотреть, как хранить и обрабатывать данные в Python.
Без print() вы не смогли бы увидеть никаких результатов.
Мы не собираемся сейчас подробно объяснять это. Мы планируем сделать это, когда будем говорить о функциях. А пока мы просто хотим показать вам, как это работает. Не стесняйтесь использовать его в своих программах.
Этот механизм называется аргументами ключевого слова (keyword arguments). Название происходит от того факта, что значение этих аргументов берется не из его местоположения (позиции), а из специального слова (ключевого слова), используемого для их идентификации.
Функция print() имеет два аргумента ключевого слова, которые вы можете использовать в своих целях. Первый из них называется концом (end).
В окне редактора вы можете увидеть очень простой пример использования аргумента ключевого слова.
print("My name is", "Python.", end=" ")
print("Monty Python.")
Для того, чтобы им пользоваться, необходимо знать некоторые правила:
- аргумент ключевого слова состоит из трех элементов: keyword, идентифицирующего аргумент (здесь end); знак равенства - equal sign ( = ); и значение - a value, присвоенное этому аргументу;
- любые аргументы ключевого слова должны быть помещены после последнего позиционного аргумента (это очень важно)
Запустите код, чтобы увидеть, как он работает.
Теперь на консоли должен отображаться следующий текст:
My name is Python. Monty Python.
Как видите, аргумент ключевого слова end определяет символы, которые функция print() отправляет на вывод, когда он достигает конца своих позиционных аргументов.
Поведение по умолчанию отражает ситуацию, когда аргумент ключевого слова end неявно используется следующим образом: end = "\ n".
----- ----- ----- ----- -----
А теперь пора попробовать что-нибудь посложнее.
Если вы посмотрите внимательно, вы увидите, что мы использовали конечный аргумент, но присвоенная ему строка пуста (она вообще не содержит символов).
print("My name is ", end="")
print("Monty Python.")
Что будет теперь? Запустите программу в редакторе, чтобы узнать.
Поскольку конечный аргумент не имеет значения, функция print() тоже ничего не выводит, как только ее позиционные аргументы исчерпаны.
Теперь на консоли должен отображаться следующий текст:
My name is Monty Python.
Примечание: на выход не было отправлено никаких символов новой строки.
Строка, назначенная аргументу ключевого слова end, может иметь любую длину. Поэкспериментируйте, если хотите.
----- ----- ----- ----- -----
Ранее мы говорили, что функция print() разделяет свои выводимые аргументы пробелами. Это поведение тоже можно изменить.
Аргумент ключевого слова, который может это сделать, называется sep (например, separator).
Посмотрите код в редакторе и запустите его.
print("My", "name", "is", "Monty", "Python.", sep="-")
Аргумент sep дает следующие результаты:
My-name-is-Monty-Python.
Функция print() теперь использует тире вместо пробела для разделения выводимых аргументов.
Примечание: значение аргумента sep также может быть пустой строкой или любым символом. Попробуйте сами.
----- ----- ----- ----- -----
Оба аргумента ключевого слова могут быть смешаны в одном вызове, как и здесь, в окне редактора.
Этот пример не имеет особого смысла, но он наглядно демонстрирует взаимодействие между end и sep.
Вы можете предсказать результат?
print("My", "name", "is", sep="_", end="*")
print("Monty", "Python.", sep="*", end="*\n")
Запустите код и посмотрите, соответствует ли он вашим прогнозам.
My_name_is*Monty*Python.*
Теперь, когда вы понимаете функцию print(), вы готовы рассмотреть, как хранить и обрабатывать данные в Python.
Без print() вы не смогли бы увидеть никаких результатов.