Python 3ではtype('jjj')=="<class 'str'>"
、それはFalse
と評価されますが、Python 2ではtype('jjj')=="<type 'str'>"
の結果は同じです。なぜこのようなことが起こっているのかわからないので、どんな助けも(ちょっとプッシュしても)評価されます!型(文字列)が "<class 'str'>"と等しくないのはなぜですか?
0
A
答えて
6
type
関数が文字列を返さないためです。これは、型「タイプ」を返します:
>>> type(type('hi'))
<type 'type'>
だからあなたは、現時点ではやっていることは、結果False
を持つことになりますタイプ「文字列」にタイプ「タイプ」を比較しています。
私はisinstance
を使用することをお勧め:
>>> isinstance('hi', str)
True
1
混乱がシェルによって誘導することができます。タイプ名を表示するタイプのものもあれば、そのタイプの表現を表示するタイプもあります。ここ
Pythonシェル
>>>type('jj') <class 'str'>
Ipython
In [68]: type('a') Out[68]: str
は、2つの文字列が使用される例示として
:
In [69]: str.__name__
Out[69]: 'str'
In [70]: repr(str)
Out[70]: "<class 'str'>"
上記のように、isinstance
はタイプをテストするのに適しています。
関連する問題
- 1. ファイルからの文字列が一般的な文字列と等しくないのはなぜですか?
- 2. 文字列が他の文字列と等しくない
- 3. Scala:抽象型メンバーが型パラメータと等しい=> =等しくないのはなぜですか?
- 4. バイト配列のサイズが文字列サイズと等しくないのはなぜですか?
- 5. Perl文字列奇妙さ:等しい文字列が等しくない?
- 6. Array + Arrayが空の文字列と等しいのはなぜですか?
- 7. なぜ(?!^)は(?<!^)と同等ですか?
- 8. 文字列型または文字列型で一致しないのはなぜですか?
- 9. なぜPythonは({])が{}と等しくないのですか?
- 10. 文字列がそれ自身と等しくない
- 11. JavaScriptが新しい文字列( '0')と厳密に等しくない理由は文字列= '0'です
- 12. なぜSystem.lineSeparator()で文字列がJavaのEclipseで等しくないのですか
- 13. 文字列が等しくないイベント実際には等しい
- 14. 空の文字列がJavaScriptの空の文字列と等しくない場合がありますか?
- 15. なぜIHTMLDocument2がIHTMLDocument2.body.documentと等しくないのですか?
- 16. なぜsys.getsizeofがos.path.getsizeと等しくないのですか?
- 17. なぜ\ d \ +か\ d +はここで\ d *と等しくないのですか?
- 18. 同じように見えるRubyの文字列は等しくないのはなぜですか?
- 19. なぜこれらの2つの文字列が等しくないのですか
- 20. なぜこれらの2つの文字列が等しくないのですか?
- 21. コードが文字列内の数字や文字を正しく識別しないのはなぜですか?
- 22. アサーションが等しくないのはなぜですか?
- 23. 文字列の正規表現が等しくない
- 24. 文字型の値に型がないのはなぜですか?
- 25. if文が文字列の等価性を正しくチェックしていない
- 26. Elasticsearchクエリ文字列クエリと等しくない?
- 27. オブジェクトからの文字列がArrayListの同じオブジェクトの文字列と等しくない
- 28. PHPの文字列は等しくないがstrposと同じ長さ
- 29. 文字列が同じでないのはなぜですか?
- 30. 文字列が値でないのはなぜですか?
オブジェクトのタイプとその結果を取得するさまざまな方法の良い説明!しかし、私は "シェル"に混乱しています。また、Pythonでこれを試してみましょうか、IPythonではありません。 –