如何判断具有空字符串值的 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就报异常了 怎么办呢?

shell中如何判定一个字符串里是不是有空格?

添加具有空字符串作为默认值且非空约束的列会导致 oracle 数据库的行为不一致

Python中如何判断一个字符串中有几个空格

python 怎么判断文件的空行

shell编程之变量