python中的赋值符号实际上是什么?

时间:2019-06-25 13:33:17

标签: python operators language-theory

大多数资源在线调用=(和+ =,-=等)的赋值运算符(对于python)。这在大多数语言中都是有意义的,但是在python中却没有。一个运算符采用一个或多个操作数,返回一个值,并形成一个表达式。但是,在python中,赋值不是表达式,并且赋值不会产生值。因此,=不能是运算符。

那到底是什么?在x = 0这样的语句中,x是一个标识符,0是一个数字文字,但是我不知道该怎么称呼“ =”。

2 个答案:

答案 0 :(得分:1)

我能够在python官方文档中找到正确的答案。 =和朋友被视为定界符。来源:https://docs.python.org/3/reference/lexical_analysis.html#delimiters

关于表达式的python docs参考未将=定义为运算符或构成表达式。来源:https://docs.python.org/3/reference/expressions.html

但是,它确实使用自己的生产规则定义了赋值语句,规则中明确包含=。来源:https://docs.python.org/3/reference/simple_stmts.html#assignment-statements

所以最后的答案是,根据官方消息,它是“定界符”。

答案 1 :(得分:0)

赋值符号(/html[1]/body[1]/div[2]/div[3]/div[3]/div[2]/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[3]/td[2]/a) 的行为类似于语句,而不是运算符。它支持链接作为语法的一部分,但不能用作操作(例如=,但不能用作a = b = 0)。

它类似于if a = b:语句的in部分。 for ... in ...:是语句语法的一部分,而不是实际的in运算符。