Python: Конкатенация

В программировании строки используются повсюду: в сообщениях, логах, заголовках, ошибках, интерфейсах, путях к файлам и в данных, приходящих из внешних систем. Часто строки нужно собирать из нескольких частей — например, объединить имя и фамилию, добавить единицу измерения или составить текст из шаблона. Для этого используется операция конкатенации — склеивания строк.

Как объединять строки

В Python строки объединяются с помощью оператора +. Несмотря на то что этот оператор используется и для сложения чисел, в случае строк он означает объединение — склеивание содержимого:

print('Dragon' + 'stone')
# => Dragonstone

Порядок имеет значение. Сначала идёт левая часть ('Dragon'), потом правая ('stone'). Результат получается в том порядке, в котором указаны операнды.

Примеры:

print('Kings' + 'wood')       # => Kingswood
print('Kings' + 'road')       # => Kingsroad
print("King's" + 'Landing')   # => King'sLanding

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

Пробел — тоже символ

При объединении Python не вставляет пробелы автоматически. Если между частями должен быть пробел, его нужно указать вручную:

# Пробел в конце первой строки
print("King's " + 'Landing')  # => King's Landing

# Пробел в начале второй строки
print("King's" + ' Landing')  # => King's Landing

Результат будет одинаковый. Но если пробел не добавить, то слова склеятся.

Заключение

  • Конкатенация — это объединение строк через +
  • Склеивание происходит строго в порядке слева направо
  • Пробелы не добавляются автоматически — их нужно включать в строки вручную
  • Строки можно объединять независимо от типа кавычек

Задание

Выведите на экран фразу используя конкатенацию слов.

Winter came for the House of Frey.

Полезное

  • Если в редакторе есть запись # BEGIN и # END, то код нужно писать между этими строчками.

Определения

Конкатенация
операция соединения двух строк. Например, `print("King's " + ' Landing')`
Как с вами связаться? 🙃

Команда проекта находится в телеграм-сообществе по ссылке https://ttttt.me/HexletLearningBot. Там можно задать любой вопрос и повлиять на проект

Упражнение не проходит проверку — что делать? 😶

Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "Обсуждение". Как правильно задать вопрос:

В моей среде код работает, а здесь нет 🤨

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя 🤔

Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи. В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно 🙄

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

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются

Привет! Я Тота и моя задача помочь в обучении. Чтобы активировать меня, нужно зарегистрироваться или залогиниться, если у вас уже есть аккаунт

Loading...

Ваше упражнение проверяется по этим тестам

1from hexlet.test import expect_output
2
3
4def test(capsys):
5    expected = "Winter came for the House of Frey."
6    expect_output(capsys, expected)
7

Решение учителя откроется через:

20:00
waiting_clock