Hello World
1.66K subscribers
71 photos
6 videos
3 files
161 links
Be so good that you cannot be ignored. And then, go one step beyond.
Download Telegram
Правильный ответ

Строки — это неизменяемый тип данных, поэтому произойдет ошибка в строке 2 (простите за тавтологию). Когда вы пытаетесь сделать например вот это:
a = ‘a’
a += ‘b’


переменная a на второй строчке заменяется уже другой переменной.

📎изменять строки нельзя, можно только заменять их новыми

#string
5 способов форматирования строк

1.
Конкатенация.
Грубый способ форматирования, в котором мы просто склеиваем несколько строк с помощью операции сложения.

name = "Дмитрий"
age = 25
print("Меня зовут " + name + ". Мне " + str(age) + " лет.")
# Output: Меня зовут Дмитрий. Мне 25 лет.


2. %-форматирование.
Самый популярный способ, который перешел в Python из языка С. Передавать значения в строку можно через списки и кортежи , а также и с помощью словаря. Во втором случае значения помещаются не по позиции, а в соответствии с именами.

name = "Дмитрий"
age = 25
print("Меня зовут %s. Мне %d лет." % (name, age))
# Output: Меня зовут Дмитрий. Мне 25 лет.

print("Меня зовут %(name)s. Мне %(age)d лет." % {"name": name, "age": age})
# Output: Меня зовут Дмитрий. Мне 25 лет.


3. Template-строки.
Этот способ появился в Python 2.4, как замена %-форматированию (PEP 292), но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.

from string import Template

name = "Дмитрий"
age = 25
s = Template('Меня зовут $name. Мне $age лет.')
print(s.substitute(name=name, age=age))
# Output: Меня зовут Дмитрий. Мне 25 лет.


4. Форматирование с помощью метода format().
Этот способ появился в Python 3 в качестве замены %-форматированию. Он также поддерживает передачу значений по позиции и по имени.

name = "Дмитрий"
age = 25
print("Меня зовут {}. Мне {} лет.".format(name, age)
# Output: Меня зовут Дмитрий. Мне 25 лет.

print("Меня зовут {name} Мне {age} лет.".format(age=age, name=name)
# Output: Меня зовут Дмитрий. Мне 25 лет.


5. f-строки.
Форматирование, которое появилось в Python 3.6 (PEP 498). Этот способ похож на форматирование с помощью метода format(), но гибче, читабельней и быстрей.

name = "Дмитрий"
age = 25
print(f"Меня зовут {name} Мне {age} лет.")
# Output: Меня зовут Дмитрий. Мне 25 лет.


#string
Проверка на анаграммность

Проверить, являются ли строки анаграммами (например, в результате случайной перестановки букв) поможет класс Counter модуля collections.

Посмотреть код

#string #collections