PROG_WAY_BLOG Telegram 55
Форматирование строк и что такое интерполяция.

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

Для удобства давайте обозначим изначальные данные:
name = "Денис"
age = 19

В результате ожидаем строку: "Привет, я Денис, мне 19 лет."

Чтож, начнём с самого простого способа форматирования - это обычная конкатенация. Кто не знал, во многих языках можно складывать строки при помощи оператора "+". В таком случае нужную строку получим так:
result = "Привет, я " + name + ", мне " + age + " лет."

Второй возможный способ - процентное форматирование. Достаточно старый метод, который появился уже давно, и в нашем случае нужную строку мы получили бы так:
result = "Привет, я %s, мне %d лет." % (name, age)

Не знаю как вам, а мне такой способ ужасно не нравится. Он не наглядный, да ещё и типизация переменной просит постоянно запоминать непонятные обозначения. В общем, не рекомендую.

Третий способ - с использованием метода строки format()
Классный метод, но не наглядный, когда в строку нужно вставить, ну, например, 20 переменных. В нашем случае результат будет выглядеть так:
result = "Привет, я {}, мне {} лет.".format(name, age)

Обращу ваше внимание на то, что можно аргументы задавать не позиционно, а именовано, то есть:
result = "Привет, я {name}, мне {age} лет.".format(age=age, name=name)

Тут мы аргументы подаём не в том порядке, но всё отлично работает.

Ну и наконец самый любимый мной да и всеми, надеюсь, способ - это f-строки, или же интерполяция. Интерполяция - это подмена шаблона в строке на какую-то переменную, если своими словами. На практике это выглядит так:
result = f"Привет, я {name}, мне {age} лет."

Чем-то напоминает именованный способ из прошлого примера, но без грязной конструкции после строки. Но более того, этот метод крайне функционален, ведь внутри себя он поддерживает различные операции и вызовы функций. То есть запись типа:
result = f"Привет, я {name.upper()}, мне {_getAge(name)} лет."

Вполне нормально считается и выдаст нужный результат.

Ну хорошо, даже отлично. Но как вы думаете, какой вариант справляется эффективнее по времени? Достаточно нетривиальный вопрос, на который мы с товарищем недавно спорили больше получаса. График вы можете увидеть на прикрепленной к посту фотографии.

Спасибо за прочтение, это важно для меня ❤️



tgoop.com/prog_way_blog/55
Create:
Last Update:

Форматирование строк и что такое интерполяция.

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

Для удобства давайте обозначим изначальные данные:
name = "Денис"
age = 19

В результате ожидаем строку: "Привет, я Денис, мне 19 лет."

Чтож, начнём с самого простого способа форматирования - это обычная конкатенация. Кто не знал, во многих языках можно складывать строки при помощи оператора "+". В таком случае нужную строку получим так:
result = "Привет, я " + name + ", мне " + age + " лет."

Второй возможный способ - процентное форматирование. Достаточно старый метод, который появился уже давно, и в нашем случае нужную строку мы получили бы так:
result = "Привет, я %s, мне %d лет." % (name, age)

Не знаю как вам, а мне такой способ ужасно не нравится. Он не наглядный, да ещё и типизация переменной просит постоянно запоминать непонятные обозначения. В общем, не рекомендую.

Третий способ - с использованием метода строки format()
Классный метод, но не наглядный, когда в строку нужно вставить, ну, например, 20 переменных. В нашем случае результат будет выглядеть так:
result = "Привет, я {}, мне {} лет.".format(name, age)

Обращу ваше внимание на то, что можно аргументы задавать не позиционно, а именовано, то есть:
result = "Привет, я {name}, мне {age} лет.".format(age=age, name=name)

Тут мы аргументы подаём не в том порядке, но всё отлично работает.

Ну и наконец самый любимый мной да и всеми, надеюсь, способ - это f-строки, или же интерполяция. Интерполяция - это подмена шаблона в строке на какую-то переменную, если своими словами. На практике это выглядит так:
result = f"Привет, я {name}, мне {age} лет."

Чем-то напоминает именованный способ из прошлого примера, но без грязной конструкции после строки. Но более того, этот метод крайне функционален, ведь внутри себя он поддерживает различные операции и вызовы функций. То есть запись типа:
result = f"Привет, я {name.upper()}, мне {_getAge(name)} лет."

Вполне нормально считается и выдаст нужный результат.

Ну хорошо, даже отлично. Но как вы думаете, какой вариант справляется эффективнее по времени? Достаточно нетривиальный вопрос, на который мы с товарищем недавно спорили больше получаса. График вы можете увидеть на прикрепленной к посту фотографии.

Спасибо за прочтение, это важно для меня ❤️

BY progway — программирование, IT




Share with your friend now:
tgoop.com/prog_way_blog/55

View MORE
Open in Telegram


Telegram News

Date: |

Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” How to create a business channel on Telegram? (Tutorial) "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. A vandalised bank during the 2019 protest. File photo: May James/HKFP.
from us


Telegram progway — программирование, IT
FROM American