在 Python 中复制字符串

本教程将介绍在 Python 中复制字符串的不同方法。

在我们继续讨论在 Python 中复制字符串的不同方法之前,我们应该记住,不能直接复制字符串。

在 Python 中,字符串是不可变的,这意味着它们的值不能在程序运行过程中改变。不可变也意味着字符串不能直接有副本。

如果声明了一个新变量并直接为其分配了给定字符串变量的值,则不会创建原始字符串的副本。相反,两个创建的变量都指向同一个字符串。

但是,有一些漏洞可用于在 Python 中复制字符串。我们将在本文下面讨论所有此类方法。

在 Python 中使用空字符串获取复制字符串

我们从最简单的方法开始,它非常容易实现。我们需要在声明新字符串时使用 concatenation 运算符将一个空字符串添加到原始字符串中。

以下代码使用空字符串在 Python 中获取副本字符串。

ostr = 'Web'
nstr = '' + ostr
print(nstr)

上面的代码提供了以下输出:

Web

在 Python 中使用切片复制字符串

切片或 : 运算符可用于对原始切片进行切片并生成新的切片。slicing 运算符的工作原理是在其语法中采用 start 和 index 值。

如果这两个值都没有传递,原始字符串将被完整地复制到新变量中。

以下代码使用切片在 Python 中复制字符串。

ostr = 'Web'
nstr = ostr[:]
print(nstr)

上面的代码提供了以下输出:

Web

在 Python 中使用 str() 函数复制字符串

str() 函数在将给定字符串作为参数传递时,返回原始字符串本身。当我们必须创建复制字符串时,可以使用它。

下面的代码使用 str() 函数在 python 中复制一个字符串。

ostr = 'Web'
nstr = str(ostr)
print(nstr)

上面的代码提供了以下输出:

Web

在 Python 中使用字符串格式复制字符串

字符串格式为用户提供了多种自定义选项,供用户在 Python 代码中进行选择。% 符号通常隐含为插值运算符,用于实现字符串格式。

尽管在 Python 中实现字符串格式化的方法不止一种,但插值运算符或 % 符号非常通用。它适用于所有可用的 Python 版本,并且是最古老的版本。

% 符号以及代表转换类型的字母被标记为变量的占位符。

以下代码使用字符串格式在 Python 中复制字符串。

ostr = 'Web'  
nstr = '%s' % ostr
print(nstr)

上面的代码提供了以下输出:

Web

尽管在 Python 中可以间接地实现复制字符串,但它本质上并不是推荐的做法。copy 模块在字符串上无法正常工作。

此外,这些字符串不能以任何方式真正改变;因此,创建副本几乎是在浪费时间和系统内存。