Рад приветствовать Вас на курсе по основам программирования в Python. В сегодняшнем уроке мы рассмотрим полный функционал функции print() и поиграемся с помощью нее со строками. А также рассмотрим арифметические операции в Python.
Создадим новый файл
Сейчас уже 3-ий по счету урок и я предлагаю создать для него новый файл в нашем проекте "lesson3.py". Для этого нажмем правой кнопкой мыши (ПКМ) по нашей корневой папке "pythonProject" - "New" - "Python File". И зададим имя файла "lesson3".
Хочется сразу подметить, что файл появился и в иерархии проекта, и сразу открылся для редактирования.
Давайте снова напишем функцию print() с текстом "Привет, мой 3 урок". И не забудем про описание функции. Мы будем комментировать данную функцию на протяжении нескольких уроков, пока она плотно не отложится у нас в голове. А потом перестанем. Функция-то простая.
Код:
# Пишем текст в консоль
print('Привет, мой 3 урок!')
Теперь нам нужно запустить этот скрипт. Однако есть нюанс. Если мы просто нажмем на значок "Run", то увидим текст из 1-го урока.
Все дело в том, что IDE запомнила наш предыдущий выбор. А в прошлый раз мы выполняли файл lesson1.py. Это нужно поменять. Снова перейдем в "Run" - "Run"
И на этот раз мы видим уже 2 доступных скрипта. Необходимо выбрать нужный lesson3.
Теперь мы можем видеть, что наш lesson3.py сработал как надо. Более того, в верхней правой области IDE можно видеть текущий файл. Именно он будет запускаться по нажатию на иконку RUN. Если мы захотим вновь запустить lesson1.py нам снова надо перейти в "Run" - "Run" и выбрать его. Но мы этого делать не будем, а пойдем дальше. Я думаю тут все понятно.
Функция print в Python
Хоть мы и рассмотрели главный функционал функции print(), это не все, что она может делать. Давайте немного поговорим о теории. У каждой функции есть набор обязательных и необязательных аргументов.
print() - это функция
А внутри функции мы пишем аргумент - наш текст
Вообще функция print() в полной своей конструкции выглядит следующим образом: print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Аргумент value
Главное не пугайтесь.
- value - это значение. Тот самый текст, который мы вводим.
- ... - говорит нам о том, что мы можем задавать несколько значений, отделяя их запятой.
Давайте попробуем. Разделим наш текст на 2 составляющих: "Привет," и "мой 3 урок!".
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет, ', 'мой 3 урок')
Если мы запустим этот код, то получим все тот же текст.
Вывод
>> Привет, мой 3 урок!
Но мы можем пойти еще дальше и разбить текст на 3 составляющих: "Привет", "мой" и "3 урок!".
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок' )
И все также получим такой же вывод в консоли.
Вывод
>> Привет, мой 3 урок!
И так можно разбивать текст сколько угодно раз. Поиграйтесь с этими аргументами. Сделайте каждое слово отдельным аргументом. Я не буду на этом останавливаться и пойду дальше.
Аргумент sep
Вспомним опять полную конструкцию нашей функции print():
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
- value - значение
- ... - еще значения
- sep - разделитель. И мы видим, что по дефолту разделителю присвоено ничего sep=' '. Между двух ' располагается один пробел.
Аргумент sep разделяет наши значения value одним пробелом. Давайте попробуем его убрать. Вообще sep - это необязательный параметр, его можно не указывать, как мы это делали ранее, довольствуясь лишь нашим текстом (то бишь value). Но теперь давайте его зададим.
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок!', sep='')
Теперь если мы запустим скрипт, то увидим, что между аргументами value пропал проблем и все пишется слитно. За исключением, конечно же, "3 урок", потому что мы внутри аргумента задали этот пробел.
Вывод
>> Привет,мой3 урок!
Давайте придумаем другой разделитель, например: " | "
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок!', sep=' | ')
И посмотрим, что получилось.
Вывод
>> Привет, | мой | 3 урок!
Также поиграйтесь с разделителями, чтобы запомнить как они работают.
Аргумент end
И вновь возвращаемся к конструкции нашей функции print():
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Рассмотрим аргумент end - этот аргумент добавляется в конец строки нашего вывода. По умолчанию имеет значение "\n", что означается переход на новую строку. Чтобы получше понять перенос на новую строку давайте добавим еще одну функцию print().
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок!', sep=' | ')
print('Моя вторая строка')
Вывод следующий:
Вывод
>> Привет, | мой | 3 урок!
>> Моя вторая строка
Две функции print() отработали как надо и отобразились на своей строке. Теперь давайте в первой функции добавим аргумент "end" и уберем перенос строки "\n".
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок!', sep=' | ', end='')
print('Моя вторая строка')
Попробуем запустить скрипт.
Вывод
>> Привет, | мой | 3 урок!Моя вторая строка
Как можно видеть, теперь после выполнения первой функции print() не происходит переноса на новую строку и наша вторая функция пишется слитно с первой. Давайте зададим конец строки для первой функции и вернем перенос строки.
Код
# Пишем текст в консоль "Привет, мой 3 урок!"
print('Привет,', 'мой', '3 урок!', sep=' | ', end='<== конец строк \n')
print('Моя вторая строка')
Вывод
>> Привет, | мой | 3 урок!<== конец строк
Моя вторая строка
Можете также поиграться с аргументом end. А также немного погордиться собой, потому что не каждый Python Джун знает об этих аргументах. Не то, чтобы эти аргументы супер важные и часто используются, но расширяют возможности для вывода данных.
Есть еще аргументы file и flush, которые мы пока не можем рассмотреть, потому что не владеем достаточным знанием Python. Но обязательно вернемся к ним, когда немного прокачаемся. Могу вкратце сказать, что аргумент file позволяет нам выводить данные не в консоль, а например в .txt файл. А аргумент flush используется для очищения потока (если ничего не поняли, то ничего страшного).
Нюанс по работе со строками
До этого мы вводили текст в функцию print() с помощью одинарных кавычек ''. Стоит отметить, что это лишь моя любовь к этим кавычкам, но на самом деле можно задавать текст с помощью двойных "".
Код
# Выводим текст с помощью двойных кавычек
print("Мой текст")
А можно даже так
Код
# Выводим текст с помощью тройных кавычек
print('''Мой текст''')
# Выводим текст с помощью тройных кавычек
print("""Мой текст""")
И все это замечательно работает!
<< Пред. Урок =========== След. Урок >>