You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化Python函数的return语句(类似C三元运算符?)

问题

现有如下Python代码:

import re

def my_match(s):
    if re.match("^[a-zA-Z]+", s):
         return True
    else:
         return False

能否将该函数的返回逻辑简化为单条return语句?在C语言中可通过三元运算符实现:

return match("^[a-zA-Z]+", s) ? true : false;

请问Python中是否有类似的写法?

解答

完全可以,Python支持三元表达式,逻辑和C的三元运算符一致,只是语法稍有区别。

你可以用两种方式简化:

  1. 利用布尔上下文直接转换
    re.match匹配成功时会返回一个匹配对象(在布尔判断中视为True),匹配失败返回None(布尔判断中视为False),直接用bool()转换结果就能得到明确的True/False:
import re

def my_match(s):
    return bool(re.match("^[a-zA-Z]+", s))
  1. 使用三元表达式
    Python的三元表达式格式为结果1 if 条件 else 结果2,对应你的需求可以写成:
import re

def my_match(s):
    return True if re.match("^[a-zA-Z]+", s) else False

两种写法都能实现单条return语句的简化,其中第一种更简洁高效。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:05:21