たとえば、人を表す簡単なクラスを考えてみましょう。唯一のクラス属性は、人物名を表す文字列です。コンストラクターにintやlistなどの他のタイプのオブジェクトを渡そうとしないようにしたいのです。これは以下の私の最初の試みでした。引数がstrでない場合、これはタイプNoneのobjを返すと思いましたが、それでもPersonobjを返すようです。私は「もっと」強く型付けされた言語のバックグラウンドから来ており、Pythonで自分自身を処理する方法として少し混乱しています。pythonicスタイルはこの状況と型安全性についてより一般的に何と言っていますか?例外を発生させる必要がありますか?または、Noneを返す方法を見つけますか?または完全に何か他のもの。
class Person:
name = None
def __init__(self, name):
if not isinstance(name, str):
return None
self.name = name