可能性の重複:
Why can’t Python handle true/false values as I expect?真= Falseを代入
は愚かな質問だが、なぜPythonで次のステートメントは、明示的に禁止されていませんか?
>> True=False
>> True
False
どのようにPythonインタプリタによってTrue
とFalse
を扱っていますか?
可能性の重複:
Why can’t Python handle true/false values as I expect?真= Falseを代入
は愚かな質問だが、なぜPythonで次のステートメントは、明示的に禁止されていませんか?
>> True=False
>> True
False
どのようにPythonインタプリタによってTrue
とFalse
を扱っていますか?
True
は、str
または他の任意の組み込みのように、デフォルトではスコープ内に存在する名前に過ぎません。そのような名前のように再バインドすることができます。
実際には、reserved wordsはほとんどありません。残りはすべて再定義の対象となります。注意するのはあなた次第です!
質問は約2.7でしたが、3.xの 'True'と' False'は予約語として含まれており、定義できません。 –
@Mahi、それは歓迎されるニュースです。 –
>>> True = False
False
上記の割り当てでは、True
は、使用する他の変数と同様に変数に過ぎません。 スコープは現在のスコープに制限されています。したがって、以下の例のように任意の値を割り当てることができます。まだbuiltin
にアクセスできるので、2 < 3
の比較ではまだTrue
が印刷されています。
>>> True = 3
>>> True
3
>>> 2 < 3
True
True = False
あなたがFalseに割り当てる値がtrueと呼ばれる新しい変数を作成し入力します。
2番目の質問に答えると、TrueとFalseは、異なる文字列表現を持つ整数1と0(技術的に言えばサブクラス)のカスタマイズされたバージョンです。
これはちょっとばかなことではありません! – ApproachingDarknessFish