如何判断具有空字符串值的 python 字符串变量在初始化时是使用单引号还是双引号?
Posted
技术标签:
【中文标题】如何判断具有空字符串值的 python 字符串变量在初始化时是使用单引号还是双引号?【英文标题】:How can i tell if a python string variable with an empty string value is using single quotes or double quotes at init time? 【发布时间】:2020-10-11 04:25:21 【问题描述】:有什么方法可以告诉空字符串变量是如何在 python 中初始化的?如果我用空的双引号初始化一个变量。我以后可以发现变量是用空双引号还是空单引号初始化的吗?
>>> test_str = ""
>>> type(test_str)
<class 'str'>
>>> test_str = ''
>>> type(test_str)
<class 'str'>
谢谢
【问题讨论】:
没有。它只是语法,它对结果字符串的影响为零。 不。请记住,还有三重单引号和三重双引号语法。同样,结果是一个字符串,您无法找出它最初是如何创建的。 不存储该信息。您当然可以使用解析器从源代码中检索它。 请记住,除了在代码中作为常量之外,还可以创建字符串对象。例如file.readline()
.
没必要——都一样:print('' == "" == '''''' == """""" == r"" == rf"")
【参考方案1】:
没有。起始引号类型仅更改解析器在解析源代码时将查找的终止引号类型。这意味着,如果字符串以'
开头,那么解析器将寻找下一个'
以知道字符串何时结束,反之亦然"
。就这样。该信息与其他任何内容都不相关,也不会被保留。还有一千种其他方法可以创建字符串,例如:
test_str = '' "" '' "" + '' + ""
同样的结果,一个空字符串。您甚至会如何保存这些信息以及用于什么目的?
【讨论】:
以上是关于如何判断具有空字符串值的 python 字符串变量在初始化时是使用单引号还是双引号?的主要内容,如果未能解决你的问题,请参考以下文章
java判断字符串相等 用s.equals(s1)。但是可能有空值的情况,用equals就报异常了 怎么办呢?