问题:[self._oun(upsplit[.....]
下面给出的代码中的函数返回一个单词(字符串)或布尔值(FALSE)。现在,当通过 + 运算符进行连接时,它会尝试将 bool(比如 FALSE)与字符串连接,因此会失败并出现异常(TypeError,将 bool 与 str 连接)。返回字符串时它工作得很好。
如何以pythonic方式更改代码来处理上述问题?我只是尝试在此代码之前放置一个 if 语句来检查返回值,然后有两个 else 语句,一个如果返回值是 bool,另一个是字符串(这对我来说看起来不像 pythonic)。
return ' '.join(upsplit[:word-1] +
[self._oun(upsplit[word-1], 1) +
'-' + upsplit[word] + '-']) + \
' '.join(upsplit[(word+1):])
编辑:
如果它返回 FALSE,我只想附加 upsplit[word] 而不是返回值(这将是 bool FALSE)。请注意,该函数不返回 TRUE。它要么返回修改后的字符串,要么返回 FALSE。如果它返回 FALSE,我只需要附加存储在 upsplit[word] 中的原始字符串。