>>> if '' is not None: ... print'23333' ... 23333
私は(Noneではない)はTrueで、( '')はFalseだから、なぜそれが印刷されているのでしょうか?オブジェクトのアイデンティティのためのなぜこれがPythonでTrueを返すか
0
A
答えて
4
is
とis not
テスト''
とNone
は、彼らがされていない、同じオブジェクトなので、テストは、あなたのケースでTrue
を返す場合、すなわち、テストします。 the Python documentationから
:
オペレータ
is
及びオブジェクトIDのis not
試験:x is y
が真である場合にはxとyが同じオブジェクトである場合にのみ。x is not y
は、 逆の真理値を生成します。
''
とNone
が同じ"truthiness"を有するが、別の言い方をすると、それはどちらもあなたがbool(None)
やbool('')
をすれば、彼らは同じオブジェクトを参照しないためにFalse
に評価されています。
2
is not
は、否定がis
に等しい単一の演算子です。 '' is None
はfalseであるため、'' is not None
がtrueです。
is
のテストのIDでは、等しくないので、'' is (not None)
はまだあなたが望むことをしません。
+0
心から感謝、私はそれを得た – admin
関連する問題
- 1. このPython-2.7テストケースがなぜTrueを返すのですか?
- 2. なぜこのpythonプログラムはTrueを返しますか
- 3. なぜこのJavascript RegExpがtrueを返すのですか?
- 4. (Python)なぜ "ABCDE"の ''がTRUEを返しますか?
- 5. なぜこれは常にtrueを返しますか? jQuery
- 6. なぜこれは常にtrueを返しますか?
- 7. Python 2.Xでisinstance(nonnewstyle、object)がtrueを返すのはなぜですか?
- 8. この場合、String.contains()がtrueを返さないのはなぜですか?
- 9. このインラインイベントハンドラの後にfalseが返され、trueが返されるのはなぜですか?
- 10. なぜ(true && 1)は1を返しますが、(1 && true)がtrueを返しますか?
- 11. int( "True")とfloat( "True")がPythonで動作しないのはなぜですか?
- 12. is_numeric(NAN)がTRUEを返すのはなぜですか?
- 13. re.match( "c"、 "cat")がtrueを返すのはなぜですか?
- 14. "hello"> 0がTRUEを返すのはなぜですか?
- 15. なぜこの関数はtrueを返しますか?
- 16. なぜこの正規表現はtrueを返しますか?
- 17. なぜこのif文は常にTrueを返しますか?
- 18. なぜこの正規表現はtrueを返しますか?
- 19. なぜこのプログラムはtrueを返しますか?
- 20. このテストケースではなぜlua string.findがtrueを返しますか?
- 21. なぜ、jQueryセレクタがIf条件でtrueを返すのか?
- 22. PHPでは、変数に値がない場合、なぜisset()はTRUEを返すのですか?ここ
- 23. なぜ 'None'でない場合はTrueを返しますか?
- 24. なぜ1!= 1がtrueを返しますか?
- 25. なぜNaN =!NaNがtrueを返しますか?
- 26. facebook.isAuthorizedは常にtrueを返すのはなぜですか?
- 27. なぜこのPythonコードはジェネレータオブジェクトを返しますか?ここ
- 28. Pythonで 'NoneType'が返されるのはなぜですか?
- 29. なぜonSurfaceView onTouchEvent()でtrueを返しますか?
- 30. エラーが発生してもストアドプロシージャがtrueを返すのはなぜですか?
''''が 'None'と同じオブジェクトでないかどうかをチェックしていますが、それらは同じオブジェクトではないので、チェックがTrueを返すので条件が発生します。 –
'is not'は実行中の完全な演算子です。 'if ''が(Noneではありません)'を実行してみてください。 –