これを行う正しい方法は、クラスに渡されたデータが間違った型である場合にエラーを発生させることです。
class MyClass(object):
def __init__(self, data):
if not isinstance(data, correct_type):
raise TypeError("data argument must be of type X")
次に、インスタンス化を try except 句でラップします。
try:
myInstance = MyClass(questionable_data)
except TypeError:
#data is not the correct type. "pass" or handle in an alternative way.
これは、データが特定のタイプである必要があるという事実を明示的に明らかにするため、有利です。
別のオプションは、sberryが言ったように実行し、クラスをインスタンス化する前にデータ型を明示的にテストすることです:
if isinstance(data, correct_type):
myInstance = MyClass(data)
else:
#data is not the correct type. "pass" or handle in an alternative way.