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.
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:
- Bekendheid met het installeren van Python 3. En bekendheid met coderen in Python. Hoe te coderen in Python 3-serie of gebruik VS Code voor Python.
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