无基础学习廖雪峰的 Python 教程中,在高阶函数这一街的 filter 函数相关练习中,看到一种函数内返回值的写法:
return n==n[::-1]
函数本身的功能是欲返回一个字符中心对称的字符串(例如'egge'),评论内有如上所示写法,直接将字符中心对称的判断放置于 return 后。
在以 'Python return 逻辑判断表达式' 为关键词搜索后发现 return 结合 and 与 or 的逻辑判断式会得到的返回值,但是还是无法套用到对 return 结合比较式的理解中。为何在成立时课直接返回数值,而不成立时返回 None 呢?
1
renmu123 2021-05-30 21:34:07 +08:00 via Android 1
filter 函数会对可迭代对象中的每个元素都应用回调函数,如果回调函数中的值为 true,就将这个元素 push 至返回的列表中。
这个函数返回的确实是布尔值,只是 filter 上面还有一层封装。 你自己尝试实现一下 filter 应该就可以理解了 |
2
Linys 2021-05-30 21:36:37 +08:00 1
filter 后面跟的函数判断 True 或者 False 就可以。
return n==n[::-1] 如果 n=ab 返回 False 如果 n=aba 返回 True |
3
Jumpoutoflimbo OP @renmu123 谢谢!!!没想到是应用场景本身的问题,十分感谢
|
4
imn1 2021-05-30 21:39:53 +08:00
哪个例子代码不成立时返回 None ?
def test(): return 1 and 0 |