将None转换为空字符串的最惯用方法是什么?
以下是最符合习惯的做法是什么呢?
def xstr(s):
if s is None:
return ''
else:
return s
s = xstr(a) + xstr(b)
更新:我正在采纳Tryptich的建议,使用str(s),这样这个程序就可以处理除了字符串以外的其他类型。我对Vinay Sajip的lambda建议感到非常惊讶,但我还是想保持我的代码相对简单。
def xstr(s):
if s is None:
return ''
else:
return str(s)
17 个回答
175
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能在使用某个特定的功能时,发现它的表现和预期的不一样。这种情况下,了解问题的根源就显得非常重要。
通常,解决这类问题的第一步是仔细检查代码,看看有没有拼写错误或者逻辑上的问题。接着,可以查阅相关的文档,看看这个功能的使用方法是否正确。有时候,社区的讨论也能提供一些有用的线索,帮助我们找到解决方案。
总之,遇到问题时不要慌张,逐步分析,查找资料,通常都能找到答案。
def xstr(s):
return '' if s is None else str(s)
239
可能最简短的写法是 str(s or '')
因为在Python中,None被认为是假的,而“x or y”这个表达式的意思是:如果x是假的,就返回y。想了解更多,可以查看布尔运算符的详细解释。这种写法虽然简短,但不太明确。
117
如果你希望你的函数像内置的 str()
函数那样工作,但在传入的参数是 None 的时候返回一个空字符串,可以这样做:
def xstr(s):
if s is None:
return ''
return str(s)