0

いくつかの python 引数を検証しようとしています。Python 3.0 で新しい静的型付けを取得するまで、これを行う最善の方法は何ですか。

これが私が試みていることの例です:

class A(object):
    @accepts(int, int, int)
    def __init__(a, b, c):
        pass

class B(A):
    @accepts(int, int, int, int)
    def __init__(a, b, c, d):
        A.__init__(a, b, c)

ご覧のとおり、デコレータはクラスへの入力の型チェックを適切に実行していますが、すべての引数を 2 番目のクラスに定義する必要があり、複数レベルの継承があると非常に厄介になります。kwargs を使用してある程度の成功を収めることはできますが、上記の型チェックのアプローチほど適切ではありません。

基本的に、kwargs リストから 1 つの引数を取り出してその型をチェックし、残りをその親に渡したいのですが、これはスケーリングに応じて非常に柔軟でクリーンな方法で行います。

助言がありますか?

4

2 に答える 2