Python入門から応用までの学習サイト


変数の型チェック (isinstance)

Pythonでは変数の型を宣言する必要がありません。 その仕様がゆえにというわけではありませんが、変数の型チェック判別する関数があります。

「isinstance」を使用して判別を行います。

# -*- coding: utf-8 -*- 

class TestClass:

    def __init__(self, title):
        self.title = title


tuple_instance = ('tuple', 'instance')
list_instance  = ['list', 'instance']
dict_instance  = {'1':'dict', '2':'instance'}
class_instance = TestClass('class')

python_list = []
python_list.append('python')
python_list.append('izm')
python_list.append(tuple_instance)
python_list.append(list_instance)
python_list.append(dict_instance)
python_list.append(class_instance)

for parent in python_list:
    if isinstance(parent, tuple):
        print '++++ tuple ++++'
        for child in parent:
            print child

    elif isinstance(parent, list):
        print '++++ list ++++'
        for child in parent:
            print child

    elif isinstance(parent, dict):
        print '++++ dict ++++'
        for child in parent.keys():
            print parent[child]
    
    elif isinstance(parent, TestClass):
        print '++++ TestClass ++++'
        print parent.title

    else:
        print '-- string --'
        print parent

リスト「python_list」にタプル、リスト、ディクショナリ、クラスの追加を行っています。 ループ内で型チェックを行い、型に応じた処理をしている形になります。



Python
スタートブック


入門 Python 3


Effective
Python


退屈なことは
Pythonにやらせよう

 
 
 

属性も持っているか、持っていないか!



確かな力が身につく
Python「超」入門




P  R