Hoe String en Int in Python te Concateneren

Introductie

Python ondersteunt stringconcatenatie met behulp van de +-operator. In de meeste andere programmeertalen zorgt de taal ervoor dat een string met een integer (of andere primitieve datatypen) wordt omgezet naar een string en vervolgens wordt geconcateneerd.

In Python krijg je echter een runtimefout als je probeert een string met een integer te concatenaten met de +-operator.

Voorbeeld

Laten we eens kijken naar een voorbeeld van het concatenaten van een string (str) en een integer (int) met de +-operator.

string_concat_int.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

Het gewenste resultaat is de string: Jaar is 2018. Wanneer we echter deze code uitvoeren, krijgen we de volgende runtimefout:

Traceback (most recent call last):
  File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
    print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str

Hoe kun je dan een str en int concatenaten in Python? Er zijn verschillende andere manieren om deze bewerking uit te voeren.

Vereisten

Om deze tutorial te voltooien, heb je het volgende nodig:

Deze tutorial is getest met Python 3.9.6.

Gebruik van de str()-functie

We kunnen een int doorgeven aan de str()-functie, het zal worden geconverteerd naar een str:

print(current_year_message + str(current_year))

De integer current_year wordt teruggegeven als een string: Jaar is 2018.

Gebruik van de %-interpolatie-operator

We kunnen waarden doorgeven aan een conversiespecificatie met printf-stijl String Formatting:

print("%s%s" % (current_year_message, current_year))

De integer current_year wordt geïnterpoleerd naar een string: Jaar is 2018.

Met de functie str.format() gebruiken

We kunnen ook de functie str.format() gebruiken voor concatenatie van een string en een integer.

print("{}{}".format(current_year_message, current_year))

De integer current_year wordt omgezet naar een string: Jaar is 2018.

Gebruikmakend van f-strings

Als je Python 3.6 of hogere versies gebruikt, kun je ook f-strings gebruiken.

print(f'{current_year_message}{current_year}')

De integer current_year wordt geïnterpoleerd naar een string: Jaar is 2018.

Conclusie

Je kunt de volledige Python-script en meer Python-voorbeelden bekijken op ons GitHub-repository.

Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int