赞
踩
String Concatenation is a very common operation in programming. Python String Concatenation can be done using various ways. This tutorial is aimed to explore different ways to concatenate strings in a python program.
字符串连接是编程中非常常见的操作。 Python字符串串联可以使用多种方式来完成。 本教程旨在探讨在python程序中连接字符串的不同方法。
We can perform string concatenation using following ways:
我们可以使用以下方式执行字符串连接:
This is the most simple way of string concatenation. Let’s look at a simple example.
这是最简单的字符串连接方式。 让我们看一个简单的例子。
- s1 = 'Apple'
- s2 = 'Pie'
- s3 = 'Sauce'
-
- s4 = s1 + s2 + s3
-
- print(s4)
Output: ApplePieSauce
输出: ApplePieSauce
Let’s look at another example where we will get two strings from user input and concatenate them.
让我们看另一个示例,我们将从用户输入中获取两个字符串并将它们连接起来。
- 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
It’s very easy to use + operator for string concatenation. However, the arguments must be a string.
使用+运算符进行字符串连接非常容易。 但是,参数必须是字符串。
- >>>'Hello' + 4
- Traceback (most recent call last):
- File "<input>", line 1, in
- TypeError: can only concatenate str (not "int") to str
We can use str() function to get the string representation of an object.
我们可以使用str()函数来获取对象的字符串表示形式。
Let’s see how to concatenate a string to integer or another object.
让我们看看如何将字符串连接为整数或另一个对象。
- 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)))
'运行
Output:
输出:
- Hello4
- Hello Data[10]
The biggest issue with + operator is that we can’t add any separator or delimiter between strings. For example, if we have to concatenate “Hello” and “World” with a whitespace separator, we will have to write it as "Hello" + " " + "World"
.
+运算符的最大问题是我们不能在字符串之间添加任何分隔符或定界符。 例如,如果我们必须使用空格分隔符将“ Hello”和“ World”连接起来,则必须将其编写为"Hello" + " " + "World"
。
We can use join() function to concatenate string with a separator. It’s useful when we have a sequence of strings, for example list or tuple of strings.
我们可以使用join()函数将字符串与分隔符连接起来。 当我们有一系列字符串时,例如列表或字符串元组 ,这很有用。
If you don’t want a separator, then use join() function with an empty string.
如果您不希望使用分隔符,请对空字符串使用join()函数。
- s1 = 'Hello'
- s2 = 'World'
-
- print('Concatenated String using join() =', "".join([s1, s2]))
-
- print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))
Output:
输出:
- Concatenated String using join() = HelloWorld
- Concatenated String using join() and spaces = Hello World
We can use % operator for string formatting, it can be used for string concatenation too. It’s useful when we want to concatenate strings and perform simple formatting.
我们可以使用%运算符进行字符串格式化,也可以将其用于字符串连接。 当我们想要连接字符串并执行简单的格式化时,这很有用。
- 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
We can use string format() function for string concatenation and formatting too.
我们也可以使用string format()函数进行字符串连接和格式化。
- 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
Python String format() function is very powerful, using it just for concatenation of strings is not its proper use.
Python字符串format()函数非常强大,仅将其用于字符串连接是不合适的。
If you are using Python 3.6+, you can use f-string for string concatenation too. It’s a new way to format strings and introduced in PEP 498 – Literal String Interpolation.
如果您使用的是Python 3.6+,则也可以使用f-string进行字符串连接。 这是格式化字符串的新方法,并在PEP 498 –文字字符串插值中引入。
- 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-string is cleaner and easier to write when compared to format() function. It also calls str() function when an object argument is used as field replacement.
与format()函数相比,Python f字符串更干净,更易于编写。 当将对象参数用作字段替换时,它还会调用str()函数。
Python String formatting can be done in several ways. Use them based on your requirements. If you have to concatenate sequence of strings with a delimited, then use join() function. If some formatting is also required with concatenation, then use format() function or f-string. Note that f-string can be used with Python 3.6 or above versions.
Python字符串格式可以通过多种方式完成。 根据您的要求使用它们。 如果必须用定界符连接字符串序列,请使用join()函数。 如果串联还需要某些格式,请使用format()函数或f字符串。 请注意,f-string可以与Python 3.6或更高版本一起使用。
翻译自: https://www.journaldev.com/23575/python-string-concatenation
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。