【问题标题】:Symbol vs Operator in PythonPython中的符号与运算符
【发布时间】:2013-09-27 15:46:10
【问题描述】:

我正在审查一些基本 Python 语法内容的测试,我想确保我对符号和运算符之间的区别有正确的理解。符号可以是字符串或运算符,而运算符只能是对字符或字符串执行某些操作的东西,对吧?

【问题讨论】:

标签: python operators symbols


【解决方案1】:

编程语言中的符号要么是某个值的绑定(例如变量标识符),要么是值本身(例如"foo"123True)、关键字(例如defclass, import,try, except,...) 或其他语言特定的构造((), {}, [],...)。 所以符号不一定是字符串。

相比之下,运算符在一个或多个值中定义了一个特定的函数。 (有一元、二元、三元、...运算符) 例如。 + in 1+1, a<b 是运算符

值得注意的是,如果您从编译器的角度考虑这个想法,那么您在代码中编写的所有内容都是一个符号。也就是说,即使 +、-、*、/ 对词法分析器来说也只是符号。 (我认为这个事实超出了你的问题范围)。因此,我们将把我们的答案限制在语言语法领域。

但是这个想法对于任何编程语言都是通用的

【讨论】:

    【解决方案2】:

    运算符是一些重要的 Python 函数的语法表示。例如,和 a + b 中的中缀 + 运算符。有一个module called operator 将标准运算符表示为函数。此外,special methods(如上面的 hus787 评论)可以覆盖类实例的运算符。

    符号是Python grammar 的一个元素。 Symbol 可以表示整个程序、语句、运算符、名称、文字等,甚至可以表示缩进和缩进(在 Python 的情况下)。

    这个术语甚至不是 Python 特有的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2022-01-16
      • 2018-12-08
      相关资源
      最近更新 更多