V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Jumpoutoflimbo
V2EX  ›  问与答

Python 中的 return 返回值问题

  •  
  •   Jumpoutoflimbo · 2021-05-30 21:23:33 +08:00 · 985 次点击
    这是一个创建于 1271 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    return n==n[::-1]

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

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

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

    def test(): return 1 and 0
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5172 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 281ms · UTC 05:48 · PVG 13:48 · LAX 21:48 · JFK 00:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.