【问题标题】:what is the result of ( 4 > + 4 )? [duplicate]( 4 > + 4 ) 的结果是什么? [复制]
【发布时间】:2017-02-20 10:15:10
【问题描述】:

我需要这个语法的解释,这是否意味着 (+4) 与 (4) 相同?我尝试了许多其他操作数,它完全可以工作,就好像我忽略了数字前的加号一样。

【问题讨论】:

  • 是的,+44 相同。
  • Python 中的+ 与数学中的+ 工作方式相同。
  • 我尝试了许多其他操作数,它完全可以正常工作,就好像我忽略了数字前的加号,这没有回答你的问题吗?

标签: python python-3.x


【解决方案1】:

要检查您的变量是否相同,请将它们输入到您的解释器中,并在它们之间使用 == 运算符。如果它们相同,这将返回 True。

>>> 4 == +4
True

在这种情况下,这可能看起来很愚蠢或显而易见,但在处理更复杂的变量时,它可能会更有用。

【讨论】:

    【解决方案2】:

    (除了其他答案指出的点...)

    Python中have lower precedencepositive一元运算符(+operand)的比较操作:

    与 C 不同,Python 中的所有比较操作都具有相同的优先级, 低于任何算术、移位或按位的 操作

    这意味着应用于其操作数的一元加号运算符将在比较运算符之前进行计算,+4 将导致一元比较运算开始之前只是 4

    4 < +4
    4 < (+4)
    4 < 4
    

    【讨论】:

      【解决方案3】:

      +4 中的+unary plus operator

      一元 +(加号)运算符产生其数字参数不变。

      是的,因为4 是一个数字(int),+4 的含义与4 相同,因为运算符返回的数字不变。

      操作符作为- unary minus operator的对应物存在:

      4 > -4
      

      自定义类可以使用__pos__() method 覆盖它,从而可以返回自定义结果。

      【讨论】:

        【解决方案4】:

        你会不会被

        4 > -4
        

        的唯一区别
        4 > +4 
        

        是不同的一元运算符

        【讨论】:

          【解决方案5】:

          是的,它们实际上是相同的。 +4 中的一元 + 运算符应用于 44 是结果。

          【讨论】:

            猜你喜欢
            • 2014-02-10
            • 2021-02-14
            • 2012-10-19
            • 1970-01-01
            • 2021-12-13
            • 1970-01-01
            • 1970-01-01
            • 2010-12-19
            • 2012-01-29
            相关资源
            最近更新 更多