Python 中的 return 返回值问题

2021-05-30 21:23:33 +08:00
 Jumpoutoflimbo

无基础学习廖雪峰的 Python 教程中,在高阶函数这一街的 filter 函数相关练习中,看到一种函数内返回值的写法:

return n==n[::-1]

函数本身的功能是欲返回一个字符中心对称的字符串(例如'egge'),评论内有如上所示写法,直接将字符中心对称的判断放置于 return 后。

在以 'Python return 逻辑判断表达式' 为关键词搜索后发现 return 结合 and 与 or 的逻辑判断式会得到的返回值,但是还是无法套用到对 return 结合比较式的理解中。为何在成立时课直接返回数值,而不成立时返回 None 呢?

784 次点击
所在节点    问与答
4 条回复
renmu123
2021-05-30 21:34:07 +08:00
filter 函数会对可迭代对象中的每个元素都应用回调函数,如果回调函数中的值为 true,就将这个元素 push 至返回的列表中。
这个函数返回的确实是布尔值,只是 filter 上面还有一层封装。
你自己尝试实现一下 filter 应该就可以理解了
Linys
2021-05-30 21:36:37 +08:00
filter 后面跟的函数判断 True 或者 False 就可以。
return n==n[::-1] 如果 n=ab 返回 False 如果 n=aba 返回 True
Jumpoutoflimbo
2021-05-30 21:37:17 +08:00
@renmu123 谢谢!!!没想到是应用场景本身的问题,十分感谢
imn1
2021-05-30 21:39:53 +08:00
哪个例子代码不成立时返回 None ?

def test(): return 1 and 0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/780205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX