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

如何用Python实现Lua风格的变量默认值单行赋值?

Python中的单行默认值赋值实现

当然有,Python提供了几种和Lua类似的简洁单行写法,完全可以替代冗长的条件判断:

1. 直接使用or运算符(和Lua逻辑一致)

这是最接近Luaarg or 0的写法,利用Python逻辑运算符的短路特性:如果arg为假值(包括None、0、空字符串、空列表等),就取右边的默认值;否则取arg本身。

示例代码:

def f(arg):
    N = arg or 0
    print(N)

f(None)  # 输出:0
f(5)     # 输出:5

单独变量赋值场景:

arg = None
N = arg or 0  # N = 0

arg = 5
N = arg or 0  # N = 5

2. 精确判断None的三元表达式

如果你的场景中,arg可能是0、空字符串这类合法的假值(不想被替换成默认值),可以用三元表达式精准判断arg是否为None:

arg = 0
N = arg if arg is not None else 0  # N = 0(保留原本的0)

arg = ""
N = arg if arg is not None else 0  # N = ""(保留原本的空字符串)

arg = None
N = arg if arg is not None else 0  # N = 0(仅当arg为None时用默认值)

3. 函数参数默认值(适合函数场景)

如果是函数参数的默认值需求,直接在函数定义时设置默认值是最简洁的方式:

def f(arg=0):
    print(arg)

f()    # 输出:0
f(5)   # 输出:5

内容的提问来源于stack exchange,提问作者Steven Andrews Student

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:50:30