Python 理解双引号与单引号的字符串生成
我试图理解为什么有时会为我的列表创建函数生成双引号,而不是单引号。我有一个用于多个文本文件的函数,通常输出是一个带有单引号的列表,但现在生成了双引号(当我需要单引号时) 有人能帮我理解为什么这里会产生双引号和/或一种强制单引号的方法吗Python 理解双引号与单引号的字符串生成,python,string,text,double-quotes,single-quotes,Python,String,Text,Double Quotes,Single Quotes,我试图理解为什么有时会为我的列表创建函数生成双引号,而不是单引号。我有一个用于多个文本文件的函数,通常输出是一个带有单引号的列表,但现在生成了双引号(当我需要单引号时) 有人能帮我理解为什么这里会产生双引号和/或一种强制单引号的方法吗 for below structure is : string_text is str text_list is list list_text is list 附加是特定于我的用例的,但是你明白了。为文本列表生成双引号 list_text sample = ['
for below structure is :
string_text is str
text_list is list
list_text is list
附加是特定于我的用例的,但是你明白了。为文本列表生成双引号
list_text sample = ['a','b','c']
这不是为什么会出现这种情况的解释,但可能是一个解决方案:如果在字符串周围再加一个
str()
(双引号或单引号),结果应该总是单引号,至少在我尝试时是这样。这不是为什么会出现这种情况的解释,但可能是一个解决方案:如果再加一个str()
在字符串周围(双引号或单引号),结果应该始终是单引号,至少在我尝试它时是这样。因此,让我们将代码转换为可以直接粘贴到python控制台窗口中的内容:
def view(string_text):
text_list = []
for t in list_text:
text_list.append(string_text + """ more text """ + t +
""" more text """)
return text_list
list_text = ['a', 'b', 'c']
text_list = view('123')
text_list
显示
为什么??因为字符串的字符串表示使用“
,直到字符串中包含”
。然后它使用“
来分隔字符串
更简单的例子是
>>> "'"
"'"
>>> '"'
'"'
>>> "'\""
'\'"'
但是它不应该有什么区别。正如前面所说,这只是程序中存在的字符串的字符串表示形式。这些分隔符实际上不在字符串本身中。请查看
str()
和repr()之间的区别
分别执行。因此,让我们将代码转换为可以直接粘贴到python控制台窗口中的内容:
def view(string_text):
text_list = []
for t in list_text:
text_list.append(string_text + """ more text """ + t +
""" more text """)
return text_list
list_text = ['a', 'b', 'c']
text_list = view('123')
text_list
显示
为什么?因为字符串的字符串表示使用“
,直到字符串中包含”
。然后它使用“
来分隔字符串
更简单的例子是
>>> "'"
"'"
>>> '"'
'"'
>>> "'\""
'\'"'
但这不应该有什么区别。如前所述,这只是程序中存在的字符串的字符串表示形式。这些分隔符实际上不在字符串本身中。查看
str()
和repr()
分别做什么的区别。双引号在哪里弹出?你能提供一个例子来说明list\u text
中的内容吗?是的,编辑了这个问题string\u text是str
text\u list是list
list\u text是list
应该在你的代码中做什么?另外,你似乎是通过串接字符串来创建SQL查询的,当我运行这个例子时要小心,我会得到单引号。这应该不会有什么区别,但我可以问一下,为什么对字符串使用docstring三重双引号?双引号在哪里弹出?你能提供一个例子来说明list\u text
中的内容吗?是的,编辑了这个问题string\u text是str
text\u list是list
list\u text是list
应该在你的代码中做什么?另外,你似乎是通过串接字符串来创建SQL查询的,当我运行这个例子时要小心,我会得到单引号。这应该不会有什么区别,但我可以问一下,为什么对字符串使用docstring三重双引号?如果我理解正确,如果我的字符串文本已经包含”
,那么它将强制“
?@paranormalist它使用”
作为分隔符,是的。然而,我不会谈论“强制”。如果我理解正确,如果我的字符串文本已经包含”
,那么它将强制“
?@paranormalist它使用”
作为分隔符,那么,是的。然而,我不会谈论“武力”。