Ad
1: 2017-01-03 (火) 04:28:00 njf ソース バックアップ No.1 を復元して編集 現: 2017-01-03 (火) 12:35:42 njf ソース 編集
Line 6: Line 6:
 testString = "test"  testString = "test"
 utfTestString = u"テスト"  utfTestString = u"テスト"
 +  
 + print type(testString) 
 + print type(utfTestString) 
 + 
 print type(testString) == str  print type(testString) == str
 print type(utfTestString) == str  print type(utfTestString) == str
結果 結果
 + <type 'str'>
 + <type 'unicode'>
 True  True
 False  False
Line 17: Line 22:
そのため、せっかくスーパークラスと同じように使えるようにクラスを継承したのに、そのクラスが同じ処理で使えなくなってしまい、あまり使い勝手は良くありません。 そのため、せっかくスーパークラスと同じように使えるようにクラスを継承したのに、そのクラスが同じ処理で使えなくなってしまい、あまり使い勝手は良くありません。
-そのため、型チェックは継承まで含めてチェックするisinstanceの方が便利です。+これを回避するためには、継承まで含めて型チェックするisinstanceを使います。
先ほどの例で言うとunicodeとstrは同じbasestringを継承しているので、 先ほどの例で言うとunicodeとstrは同じbasestringを継承しているので、
Line 28: Line 33:
 True  True
-となり、isinstanceは文字列的なクラスをTrueにしてくれます。+となり、isinstanceは両方ともTrueになります。 
 +基本的に型チェックはisinstanceを使った方が便利です。


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2087, today: 1, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF