# Python string concatenation: Como concatenar strings em Python

A linguagem de programação Python possibilita a concatenação de strings de diferentes formas. Você pode, por exemplo, utilizar o operador `+`, adotar o método `str.join()` ou formatar as strings desejadas. A concatenação de strings em Python permite que strings sejam **manipuladas de forma flexível e eficiente**, o que é essencial no desenvolvimento de softwares.

## O que é Python string concatenation?

Concatenar strings em Python significa combinar strings diferentes **em uma única string composta**, processo essencial para a modificação e a formatação de códigos em Python. Existem várias maneiras de se concatenar [strings em Python](https://www.ionos.com/digitalguide/websites/web-development/python-string/ "String em Python"). As duas mais comuns fazem uso do operador `+` ou do método `str.join()`.

Concatenar strings de forma eficiente é importante, especialmente em códigos com grandes volumes de texto ou em aplicações nas quais um bom desempenho é essencial. Aconselhamos que você escolha o **método mais adequado para realizar a concatenação**, para evitar gargalos indesejados de desempenho e maximizar a eficiência do seu código.

## Métodos de Python string concatenation

Você pode concatenar strings em Python de diferentes maneiras. As principais incluem:

- O operador `+`
- O operador `*`
- O método `join()`
- O operador `%`
- A função `format()`
- f-strings

### O operador `+`

Em Python, você pode combinar strings usando o operador `+`, inserindo-as diretamente, **uma após a outra**. Esse operador une strings existentes para criar uma nova string.

```python
str1 = "Hello, "
str2 = "World!"
result = str1 + str2
print(result)  # Output: Hello, World!
```

Ao utilizarmos o operador `+` no nosso exemplo, concatenamos as strings `str1` e `str2`. A string resultante é armazenada na variável `result`. A nova string exibe o resultado `Hello, World!`.

É importante notar que toda vez que você usa o operador `+`, uma nova string será criada, já que **strings em Python são imutáveis**. Portanto, ao concatenar grandes quantidades de strings por esse método, o desempenho do código pode cair. Nesse caso, outros métodos de concatenação podem ser mais adequados, como o `str.join()`, que será apresentado mais adiante.

### O operador `*`

Quando o operador `*` é aplicado a uma string,\* *ele multiplica essa string pelo número especificado*\*. O resultado é uma repetição da string original concatenada.

```python
str1 = "Hello! "
multiplier = 3
result = str1 * multiplier
print(result)  # Output: Hello! Hello! Hello!
```

Neste exemplo, `str1` é multiplicado por 3. O resultado é, portanto, `str1` três vezes seguidas.

### O método `join()`

O método `join()` é normalmente usado em **strings delimitadoras**. Ele deve receber uma sequência de strings como argumento.

```python
words = ["Python", "is", "great"]
separator = " "
result = separator.join(words)
print(result)  # Output: Python is great
```

Nesse exemplo, `words` é uma lista de strings. O método `join()` é aplicado à string delimitadora `separator`, que aqui é um **espaço em branco**. Ele une os elementos da lista `words` com o delimitador especificado, criando uma nova string. Nela, cada elemento da lista é separado pelo espaço em branco. O resultado é armazenado na variável `result` e, em seguida, exibido.

### O método `%`

O método `%` também é conhecido como **formatação de strings com `%`**. Comumente utilizado em versões anteriores do Python, ele foi substituído, nas versões mais novas, pelo método `str.format()` e pela formatação com f-strings. De todo modo, o método `%` permite inserir valores em uma string pré-definida.

```python
name = "Alice"
age = 30
greeting = "My name is %s and I am %d years old." % (name, age)
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

Nesse exemplo, usamos `%s` para anunciar uma string e `%d` para um número inteiro. O método `%` insere os valores `name` e `age` na string predefinida. Esses valores são passados entre parênteses, **como uma tupla**, e inseridos nos respectivos espaços reservados na string.

### A função `format()`

A função `format()` é capaz de concatenar strings em Python substituindo espaços reservados na string por valores. Essa é uma maneira mais flexível e legível de inserir valores em uma string. Os **espaços reservados podem ser definidos por posições ou nomes**.

```python
name = "Alice"
age = 30
greeting = "My name is {} and I am {} years old.".format(name, age)
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

Na função `format()`, os valores `name` e `age` são passados como argumentos e inseridos nos espaços reservados na string, na ordem em que são fornecidos à função.

### f-strings

O método f-strings, usado para [formatar strings em Python](https://www.ionos.com/digitalguide/websites/web-development/python-string-format/ "Formatar strings em Python") também serve para concatenar strings em Python.

```python
name = "Alice"
age = 30
greeting = f"My name is {name} and I am {age} years old."
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

Nesse nosso exemplo, f-strings são definidos pelo prefixo `f` antes da string. Posicionamos as variáveis `name` e `age` dentro de chaves `{}`, dentro da string. Durante a execução, a linguagem substitui os espaços reservados pelos valores reais das variáveis `name` e `age`.

Se você deseja saber mais sobre a manipulação de strings em Python, acesse estes tutoriais sobre [Python substrings](https://www.ionos.com/digitalguide/websites/web-development/python-substring/ "Python substrings"), [Python split](https://www.ionos.com/digitalguide/websites/web-development/python-split/ "Python split"), [Python string index](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-string-index/ "Python string index") e aprenda a [comparar strings em Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/comparar-strings-em-python/ "Comparar strings em Python") com o nosso Digital Guide.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/concatenar-strings-em-python/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/concatenar-strings-em-python/) for AI/LLM consumption.