walrus-operator相关内容

“:="语法和赋值表达式:什么和为什么?

PEP 572 引入了赋值表达式(通俗地称为 Walrus Operator),为 Python 3.8 实现.这似乎是一个非常重要的新功能,因为它将允许在推导式和 lambda 函数中进行这种形式的赋值. 赋值表达式的语法、语义和语法规范究竟是什么? 当PEP 379 关于“添加赋值表达式"之前被拒绝了? 解决方案 PEP 572 包含许多细节,尤其是第一个问题.我将尝试简洁 ..

为什么不能使用 Python 的 walrus 运算符来设置实例属性?

我刚刚了解到新的 walrus 运算符 (:=) 不能用于设置实例属性,它应该是无效的语法(引发 SyntaxError). 这是为什么?(你能提供一个官方文档的链接吗?) 我查看了 PEP 572,但找不到是否/在哪里记录. 研究 这个答案提到了这个限制,没有解释或来源: 不能在对象属性上使用 walrus 运算符 示例代码 class Foo:def __ ..
发布时间:2021-06-28 19:10:16 Python

带三元运算符的Walrus运算符的正确语法是什么?

查看 Python-Dev 和 StackOverflow ,Python的三元运算符等效为: a如果有其他条件b 查看 PEP-572 和 StackOverflow ,我了解Walrus运算符是什么: := 现在,我尝试将“海象运算符的分配”和“三元操作员的条件检查”变成单个语句,例如: other_func(a)if(a:= some_func( ..
发布时间:2020-10-08 00:37:45 Python

":="语法和赋值表达式:什么以及为什么?

PEP 572 引入了赋值表达式(俗称 Walrus运算符),已针对Python 3.8实现.这似乎是一个真正重要的新功能,因为它将允许在理解和lambda函数中使用这种形式的赋值. 赋值表达式的语法,语义和语法规范到底是什么? 当之前被拒绝了? 解决方案 PEP 572 包含许多细节,尤其是对于第一个问题.我将尝试简要地总结/引用PEP的一些最重要的部分: 理论上 ..