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

能否在判断函数返回值为真时,一行完成赋值与判断操作?

Python中能否将函数调用赋值与返回值判断合并一行?

问题背景

现有如下Python函数示例:

def my_func(x):
    if x == 4:
        return 25
    return False

result = my_func(4)

if result:
    print(result)

当前写法需要先调用函数赋值给变量,再判断变量值。想知道是否可以将函数返回值判断与赋值操作合并在一行完成,比如类似如下语法:

if my_func(4) => x:
    print(x)

解决方案

可以实现,Python 3.8及以上版本支持赋值表达式(又称海象运算符:=),刚好能满足这个需求。修改后的代码如下:

def my_func(x):
    if x == 4:
        return 25
    return False

if x := my_func(4):
    print(x)

说明

  • 海象运算符:=会先执行右侧的my_func(4)调用,将返回值赋值给变量x;
  • 同时把这个返回值作为整个表达式的结果,参与if的条件判断;
  • 只要返回值为真(比如示例中的25,非零整数在Python中视为真值),就会执行print(x)语句,输出25。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:10:17