String concatenatie is een veelvoorkomende bewerking in programmeren. Python String concatenatie kan op verschillende manieren worden uitgevoerd. Deze tutorial is bedoeld om verschillende manieren te verkennen om strings samen te voegen in een Python-programma.
Python String concatenatie
We kunnen string concatenatie uitvoeren op de volgende manieren:
- Gebruik van de + operator
- Gebruik van de join() methode
- Gebruik van de % operator
- Gebruik van de format() functie
- Gebruik van f-strings (Letterlijke String Interpolatie)
String concatenatie met behulp van de + operator
Dit is de meest eenvoudige manier van string concatenatie. Laten we kijken naar een eenvoudig voorbeeld.
s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)
Output: ApplePieSauce
Laten we nu kijken naar een ander voorbeeld waarbij we twee strings van gebruikersinvoer krijgen en ze samenvoegen.
s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')
print('Concatenated String =', s1 + s2)
Output:
Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld
Het is heel eenvoudig om de + operator te gebruiken voor string concatenatie. De argumenten moeten echter een string zijn.
>>>'Hello' + 4
Traceback (most recent call last):
File "<input>", line 1, in
TypeError: can only concatenate str (not "int") to str
We kunnen de str() functie gebruiken om de stringrepresentatie van een object te verkrijgen. Laten we kijken hoe we een string aan een integer of een ander object kunnen koppelen.
print('Hello' + str(4))
class Data:
id = 0
def __init__(self, i):
self.id = i
def __str__(self):
return 'Data[' + str(self.id) + ']'
print('Hello ' + str(Data(10)))
Uitvoer:
Hello4
Hello Data[10]
Het grootste probleem met de + operator is dat we geen scheidingsteken of delimiter kunnen toevoegen tussen strings. Bijvoorbeeld, als we “Hello” en “World” met een spatie als scheidingsteken willen samenvoegen, moeten we het als volgt schrijven: "Hello" + " " + "World"
.
String samenvoegen met behulp van de join() functie
We kunnen de join() functie gebruiken om een string met een scheidingsteken samen te voegen. Het is handig wanneer we een reeks strings hebben, bijvoorbeeld een lijst of tuple van strings. Als je geen scheidingsteken wilt, gebruik dan de join() functie met een lege string.
s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))
Uitvoer:
Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World
String samenvoegen met behulp van de % Operator
We kunnen de % operator gebruiken voor het formatteren van strings, het kan ook worden gebruikt voor het samenvoegen van strings. Het is handig wanneer we strings willen samenvoegen en eenvoudige opmaak willen toepassen.
s1 = 'Hello'
s2 = 'World'
s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)
s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)
Output:
String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018
String Concatenation met behulp van de format() functie
We kunnen ook de string format() functie gebruiken voor het samenvoegen en opmaken van strings.
s1 = 'Hello'
s2 = 'World'
s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)
s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)
Output:
String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World
De Python String format() functie is zeer krachtig; het alleen gebruiken voor het samenvoegen van strings is niet de juiste toepassing ervan.
String Concatenation met f-string
Als je Python 3.6 of hoger gebruikt, kun je ook f-strings gebruiken voor het samenvoegen van strings. Het is een nieuwe manier om strings te formatteren en geïntroduceerd in PEP 498 – Letterlijke String Interpolatie.
s1 = 'Hello'
s2 = 'World'
s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)
name = 'Pankaj'
age = 34
d = Data(10)
print(f'{name} age is {age} and d={d}')
Output:
String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]
Python f-strings zijn schoner en gemakkelijker te schrijven in vergelijking met de format() functie. Het roept ook de str() functie aan wanneer een objectargument als veldvervanging wordt gebruikt.
Conclusie
Python-stringopmaak kan op verschillende manieren worden gedaan. Gebruik ze op basis van uw vereisten. Als u een reeks strings met een scheidingsteken moet samenvoegen, gebruik dan de join() functie. Als er ook enige opmaak vereist is bij de concatenatie, gebruik dan de format() functie of f-string. Let op dat f-strings kunnen worden gebruikt met Python 3.6 of nieuwere versies.
U kunt het volledige Python-script en meer Python-voorbeelden bekijken op onze GitHub Repository.
Source:
https://www.digitalocean.com/community/tutorials/python-string-concatenation