Python 将字符串输出的单引号替换为双引号

Python 将字符串输出的单引号替换为双引号,python,Python,我有一个用pyspark编写的函数databricks,它接受传递给函数的参数和值,如下所示: 值如下所示 stringa = "XYZ_ABC" stringb = "ab" def pos(stringa,stringb): if stringb in stringa: return stringa else: return stringa ab = pos(stringa,stringb)

我有一个用pyspark编写的函数databricks,它接受传递给函数的参数和值,如下所示: 值如下所示

stringa = "XYZ_ABC"
stringb = "ab"
def pos(stringa,stringb):
    if stringb in stringa:
      return stringa
    else:
        return stringa    
  ab = pos(stringa,stringb)
功能如下所示

stringa = "XYZ_ABC"
stringb = "ab"
def pos(stringa,stringb):
    if stringb in stringa:
      return stringa
    else:
        return stringa    
  ab = pos(stringa,stringb)
上面的函数返回一个输出作为 “XYZ_ABC” 然而,预期的产出是
“XYZ_ABC”

使用单引号或双引号字符串没有区别。这两种表示法都可以互换使用,因此尝试从单引号转换为双引号是没有意义的

如果在控制台中编写双引号字符串,您将看到结果显示为单引号

>“asd”
“asd”

使用单引号字符串和双引号字符串没有区别。这两种表示法都可以互换使用,因此尝试从单引号转换为双引号是没有意义的

如果在控制台中编写双引号字符串,您将看到结果显示为单引号

>“asd”
“asd”
字符串“XYZ_ABC”或“XYZ_ABC”或“XYZ_ABC”或“XYZ_ABC”相同

如果您仍希望在控制台上以双引号显示输出,请使用此打印(“+ab+”)

字符串“XYZ_ABC”或“XYZ_ABC”或“XYZ_ABC”或“XYZ_ABC”相同


如果您仍然希望在控制台上以双引号显示输出,请使用此打印(“+ab+”)

字符串实际上不包含引号,它们只是以这种方式打印,因为控制台显示的变量与
print(repr(ab))
相同。如果您
print(ab)
,您将看到差异

如果您希望在实际字符串中使用引号,您需要自己添加引号,并且可以添加任何您喜欢的样式

ab = '"' + pos(stringa,stringb) + '"'

字符串实际上并不包含引号,它们只是以这种方式打印,因为控制台显示的变量与
print(repr(ab))
相同。如果您
print(ab)
,您将看到差异

如果您希望在实际字符串中使用引号,您需要自己添加引号,并且可以添加任何您喜欢的样式

ab = '"' + pos(stringa,stringb) + '"'

'XYZ_ABC'
“XYZ_ABC”
表示相同的
str
对象。单引号、双引号、三重单引号、三重双引号。。。在内部,它都是相同的字符串。如果控制台输出真的困扰您,请将其格式化为JSON。@MikeScotty因为我们希望输出为双引号,是因为我们必须将相同的输出传递给在DataRicks中调用的存储过程,这就是为什么我们需要输出为双引号字符串实际上不包含引号,它们是这样打印的,因为控制台的打印方式与
print(repr(stringa))
相同。如果您希望在实际字符串中使用引号,您需要自己添加引号,并且可以添加任意样式。
'XYZ_ABC'
“XYZ_ABC”
表示相同的
str
对象。单引号、双引号、三重单引号、三重双引号。。。在内部,它都是相同的字符串。如果控制台输出真的困扰您,请将其格式化为JSON。@MikeScotty因为我们希望输出为双引号,是因为我们必须将相同的输出传递给在DataRicks中调用的存储过程,这就是为什么我们需要输出为双引号字符串实际上不包含引号,它们是这样打印的,因为控制台的打印方式与
print(repr(stringa))
相同。如果您希望在实际字符串中使用引号,您需要自己添加引号,并且您可以添加任何您喜欢的样式。@JoepJoestar因为我们希望输出为双引号,是因为我们必须将相同的输出传递给在数据块中调用的存储过程,这就是为什么我们需要输出为双引号。然后,扩展您的问题并添加特定的过程、您得到的错误等。@JoepJoestar因为我们想要双引号的输出,是因为我们必须将相同的输出传递给在DataRicks中调用的存储过程,这就是为什么我们需要双引号的输出。然后,扩展您的问题并添加特定的过程,你得到的错误,等等…我不想要一个非类型的打印我们想要一个Str类型的返回类型我不想要一个非类型的打印我们想要一个Str类型的返回类型现在我有一个“XYZ_ABC”输出,里面有单引号我们只需要“XYZ_ABC”@batman_special阅读整个答案,不仅仅是最后一行。现在我的输出是“XYZ_ABC”,其中有单引号。我们只需要“XYZ_ABC”@batman_special阅读整个答案,而不仅仅是最后一行。