2017-12-20 11 views
2

私は、関数インタフェース/ "契約"を実施するための既存のPythonライブラリ/技術があるのだろうかと思います。 ABCのようなものですが、機能のためです。関数インタフェース用のPythonライブラリ?

など。作られたアップ構文と例:

@implements(i_state_updater) 
def my_update(position, state, forces): 
    ... 
    return new_position, new_state 

@declare_interface 
def i_state_updater(position, state, forces): 
    """ 
    :param position: ... 
    :returns: .... 
    """ 

私は引数としてこの関数を渡すとき、私はそれを確認できるように、例えば

def compute_trajectory(update_func, n_steps, initial_state): 
    """ 
    :param update_func: An i_state_updater 
    ... 
    """ 
    assert update_func.implements(i_state_updater) 

Pythonの既存のABCモジュールこのようなことをしますが、クラスのためだけです。そこに機能のための同等のですか?

答えて

関連する問題