【问题标题】:Why can I assign True = False (Python 2.7.9) [duplicate]为什么我可以分配 True = False (Python 2.7.9) [重复]
【发布时间】:2015-09-17 17:28:25
【问题描述】:

为什么我可以使用 Python 2.7.9 将 Python 关键字 True 分配为等于 Python 关键字 False

Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>>> True
True
>>> True = False
>>> True
False
>>>

但是当切换到 Python 3.4.3 时:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>>> True = False
  File "<stdin>", line 1
SyntaxError: can't assign to keyword
>>>

【问题讨论】:

  • 你试过谷歌搜索“python true false assign to keyword”之类的东西吗?
  • 这与将max 分配给100input 分配给'Hello' 相同。
  • 只有我一个人读了这个问题并立即想到“我猜他们把它改成了一个关键字,很酷”?所有答案基本上只是重复问题并添加“是的,发生这种情况”。

标签: python


【解决方案1】:

True 和 False 在 Python 2 中是内置的,但在 Python 3 中它们是关键字——因此是错误消息。严格来说,您不是分配给它们,而是隐藏它们——这是您不能用关键字做的。

【讨论】:

    【解决方案2】:

    在 python 3.x 中,TrueFalsereserved words

    【讨论】:

    • 他们知道这一点,他们在第二个例子中指出了这一点。重新阅读问题。
    • @CoryKramer,对不起,如果我的回答不清楚。您可以在 python 2.x 中执行此操作,因为 True 和 False 不是 reserved words
    【解决方案3】:

    因为在 Python 3.X 中它是一个关键字,而在 2.7.X 中它是一个变量(True=4869False=[4,8,6,9] 一样有效)

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2021-11-10
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多