【问题标题】:Python: Difference between "" and " " when creating a new variable with a empty string?? ( new_variable = " " )Python:使用空字符串创建新变量时 \"\" 和 \" \" 之间的区别? ( new_variable = \" \" )
【发布时间】:2022-12-31 00:09:18
【问题描述】:

好的,我已经调查了How to check if the string is empty?,但它对我没有帮助。如果你深入研究这个问题,也可以聊天 GPT 说得很奇怪,而且 python 手册也没有帮助我。

语言 = python 3.11.1

previous_char = " "
vowels = 'aeiou'
print(previous_char in vowels)

此代码评估为“假”和长度 1

但是如果你去掉 previous_char 中引号之间的空格

previous_char = ""
vowels = 'aeiou'
print(previous_char in vowels)

此代码评估为“真”且长度为 0

所以基本上如果你问:元音中的“什么都没有”......它是真的吗? 我觉得这不合逻辑,但另一方面,如果它的计算结果为假,那也很奇怪。

我 2 周前开始编码是为了好玩,我今年 35 岁,所以如果这是某种愚蠢的问题,请不要让我难堪。

但我有点难以理解为什么会这样?

【问题讨论】:

  • 一个是空格,另一个是空字符串。 if myString == "": 在您分享的链接中非常清楚
  • 试试'aeiou'.count(''),你会得到 6。Python 似乎将字符和字符串外部之间的间隙视为 ''
  • 当使用正则表达式等“高级”工具时,它是一个更有用的属性,此时空字符串可能表示匹配零次的模式。
  • this 是否回答了您的问题?
  • 啊,这似乎是什么……我之前尝试过 len() 方法,然后它给出了 5,但是使用你提出的 count('') 方法它确实给出了 6.. 对我来说仍然很奇怪,但它解释了行为布尔检查。

标签: python string quotations isin


【解决方案1】:

" " 是一个包含单个字符(空格)的字符串。

"" 是空字符串。

【讨论】:

  • 谢谢回复,我也知道了。但我仍然不明白为什么检查“空字符串”是否在“aeiou”中是真的?并检查“空间”是否在“aeiou”中为假?
  • 嗯,第二种情况应该很明显——字符串"aeiou" 中没有空格字符,所以你得到一个False。第一种情况可以这样看:任何字符串都可以写成另一个字符串,它是自身和空字符串的连接(在你的情况下"aeiou" + ""仍然是字符串`“aeiou”。因此,空字符串可以是据说是非空字符串的一部分。
  • 不仅仅是一个非空字符串,'' in '' 也是True
  • 为了清楚以上内容,您可以将空字符串任何地方并且它不会更改原始字符串:"aei" + "" + "ou" 仍然为您提供字符串 "aeiou"。基本上,空字符串就像数字 0 的字符串等价物 - 向任何数字添加或减去 0 保持不变。
【解决方案2】:

要了解在字符串中使用单引号和双引号之间的区别,请参阅以下网页: https://www.geeksforgeeks.org/single-and-double-quotes-python/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 2011-06-15
    • 2021-01-01
    • 2017-01-29
    • 2013-05-26
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多