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. Array + Arrayが空の文字列と等しいのはなぜですか?
- 2. なぜ(?!^)は(?<!^)と同等ですか?
- 3. 文字列がそれ自身と等しくない
- 4. 空の文字列がJavaScriptの空の文字列と等しくない場合がありますか?
- 5. なぜIHTMLDocument2がIHTMLDocument2.body.documentと等しくないのですか?
- 6. なぜこれらの2つの文字列が等しくないのですか?
- 7. 文字列の正規表現が等しくない
- 8. 文字型の値に型がないのはなぜですか?
- 9. TCP Javaサーバー、Pythonクライアント文字列が等しくない
- 10. PHPの文字列は等しくないがstrposと同じ長さ
- 11. 文字列連結:最終文字列値が最新の値と等しくない
- 12. 空の文字列がSeq.emptyと一致しないのはなぜですか?
- 13. リスト<T>はリスト<T>と等しくないのですか?
- 14. Strcmpが等しい文字列で等しい値を返さない
- 15. String.prototype内の 'this'はオブジェクト型であり、文字列型ではないのはなぜですか?
- 16. なぜread()は文字列ではなくバイトを出力しますか?
- 17. 等しい値の2つの文字列変数が等価でない(アンドロイド)
- 18. なぜIE7はこれらの2つの文字列が等しいと思いませんか?
- 19. 文字列が2つの文字列のいずれかと等しくないかどうかをテストしてください
- 20. 文字列一見等価ではない使用して、サブストリング()
- 21. Javaが正しく2つの同等の文字列を比較しない
- 22. なぜNode.jsのfs.readFile()は文字列ではなくバッファを返しますか?
- 23. ExpressJSで部分文字列が動作しないのはなぜですか?
- 24. ラックレスポンス本体が文字列ではないのはなぜですか?
- 25. なぜ文字間隔がFx <10で動作しないのですか
- 26. フィールド間のスペース数が等しくない文字列をトークン化する
- 27. python3がこのjson文字列をロードしないのはなぜですか?
- 28. PowerShellで "="だけでなく "-eq"と等しいのはなぜですか?
- 29. .NET XMLパーサーが文字列内で特殊文字を使用できないのはなぜですか?
- 30. なぜJavaは文字列をIMMUTABLE CLASSとして作成したのですか?
オブジェクトのタイプとその結果を取得するさまざまな方法の良い説明!しかし、私は "シェル"に混乱しています。また、Pythonでこれを試してみましょうか、IPythonではありません。 –