问题:下面代码中的函数[self._oun(upsplit[.....]
返回单词(字符串)或布尔值(FALSE)。现在,当通过+运算符进行连接时,它尝试将bool(比如FALSE)与字符串连接起来,因此失败并出现异常(TypeError,将bool与str连接起来)。当返回一个字符串时,它工作得非常好。你知道吗
如何以pythonic方式更改代码来处理上述问题?我只是试着在这段代码前面放一个if语句来检查返回值,然后有两个else语句,一个if返回值是bool,另一个是string(在我看来不是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]中存储的原始字符串。你知道吗
在
str()
调用中包装对self._oun
的调用。bool上的str生成一个字符串表示形式('True'或'False'),在字符串上,它返回不变的参数。你知道吗编辑
在阐明注释之后,Python中的三元运算符的工作原理如下:
对你来说
请注意,它需要2个对
_oun
的调用,如果∗oun返回原始字符串而不是False,则会简单得多。你知道吗相关问题 更多 >
编程相关推荐