Python中使用mean, variance, std = 0单行赋值方式是否合法可行?
Python多变量赋值写法合法性说明
mean, variance, std = 0 这种写法不符合Python语法规范,无法正常运行。
报错原因
这种左侧用逗号分隔多个变量的写法属于序列解包赋值规则的范畴,Python要求该场景下右侧可迭代对象的元素数量,必须和左侧声明的变量数量完全一致。
你给出的写法左侧有3个变量,右侧仅提供1个整数值,数量不匹配,运行时会直接抛出如下异常:
ValueError: not enough values to unpack (expected 3, got 1)
正确的替代写法
如果你要给三个变量都赋值为0,有两种常用的合法写法:
- 链式赋值(适合多变量赋相同初始值场景):
mean = variance = std = 0 - 等长解包赋值:
mean, variance, std = 0, 0, 0
内容的提问来源于stack exchange,提问作者contactlight
相关产品推荐
相关产品推荐

