Ad
1: 2017-01-03 (火) 04:28:00 njf ソース バックアップ No.1 を復元して編集
Line 1: Line 1:
 +Pythonでは型の判定にtypeやisinstanceを使います。
 +typeは厳密にその型を何かを判定するのに使います。
 +
 + # -*- coding: utf-8 -*-
 + testString = "test"
 + utfTestString = u"テスト"
 +
 + print type(testString) == str
 + print type(utfTestString) == str
 +
 +結果
 + True
 + False
 +
 +ただし、typeによる判定は、継承したクラスもFalseにしてしまいます。
 +そのため、せっかくスーパークラスと同じように使えるようにクラスを継承したのに、そのクラスが同じ処理で使えなくなってしまい、あまり使い勝手は良くありません。
 +
 +そのため、型チェックは継承まで含めてチェックするisinstanceの方が便利です。
 +
 +先ほどの例で言うとunicodeとstrは同じbasestringを継承しているので、
 +
 + print isinstance(testString, basestring)
 + print isinstance(utfTestString, basestring)
 +
 +結果
 + True
 + True
 +
 +となり、isinstanceは文字列的なクラスをTrueにしてくれます。


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

ログイン

ユーザー名:


パスワード:





パスワード紛失

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