2012-11-15 76 views

回答

6

True,就像str或其他任何內建函數一樣,只是默認情況下存在於該範圍中的一個名稱。您可以像其他任何此類名稱一樣重新綁定它。

+1

實際上,OP會創建'__main __。True'。 '__builtin __。True'仍然可以訪問 – jfs

+2

'None = 42'導致'SyntaxError'。爲什麼相同的邏輯不適用於這個名字? – martineau

+0

@martineau:它確實適用。 True/False是Python 3中的關鍵字。btw,你可以在Python中指定爲None 2.3 – jfs

2

Python其實很少有reserved words。其餘的都受到重新定義。你要小心!

+3

問題大約是2.7,但只是說在3.x中包含'True'和'False'作爲保留字並且不能被定義。 – 2012-11-15 16:14:41

+0

@Mahi,這是個好消息。 –

2
>>> True = False 
False 

在上面的分配,True就像你使用任何其他變量的變量。 其範圍僅限於當前範圍。所以你可以像下面的例子那樣給它賦值。請注意,比較2 < 3仍然打印True,因爲您仍然可以訪問builtin

>>> True = 3 
>>> True 
3 
>>> 2 < 3 
True 
1

打字

True = False 

您創建一個名爲真正的新的變量,它的價值分配給假。

回答第二個問題,True和False是整數1和0(技術上講,子類)的自定義版本,它們只是具有不同的字符串表示形式。