Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 理解双引号与单引号的字符串生成_Python_String_Text_Double Quotes_Single Quotes - Fatal编程技术网

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它使用
作为分隔符,那么,是的。然而,我不会谈论“武力”。