gpt4 book ai didi

python - 在 Python 中对普通和 Unicode 空字符串进行 "not None"测试的最佳方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:43:18 31 4
gpt4 key购买 nike

在 Python 2.7 中,我正在编写一个调用 API 中的函数的类,该函数可能返回空字符串,也可能不返回空字符串。此外,空字符串可能是 unicode u"" 或非 unicode ""。我想知道最好的检查方法是什么?

以下代码适用于空字符串,但不适用于空 unicode 字符串:

class FooClass():
string = ...
string = might_return_normal_empty_string_or_unicode_empty_string(string)

# Works for normal empty strings, not unicode:
if string is not None:
print "string is not an empty string."

相反,我必须这样写才能使其适用于 unicode:

class BarClass():
string = ...
string = might_return_normal_empty_string_or_unicode_empty_string(string)

# Works for unicode empty strings, not normal:
if string is not u"":
print "string is not an empty string."

...像这样让它同时适用于非 unicode 和 unicode 中的空字符串:

class FooBarClass():
string = ...
string = might_return_normal_empty_string_or_unicode_empty_string(string)

# Works for both normal and unicode empty strings:
if string is not u"" or None:
print "string is not an empty string."

第三种方法是最好的方法,还是有更好的方法?我问是因为写一个 u"" 对我来说感觉有点太硬了。但如果这是最好的方法,那就这样吧。 :) 感谢您提供的任何帮助。

最佳答案

空字符串被认为是假的。

if string:
# String is not empty.
else:
# String is empty.

关于python - 在 Python 中对普通和 Unicode 空字符串进行 "not None"测试的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690491/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com