What's a good way to provide additional decoration/metadata for Python function parameters?

后端 未结 4 1531
生来不讨喜
生来不讨喜 2021-02-15 17:17

We\'re considering using Python (IronPython, but I don\'t think that\'s relevant) to provide a sort of \'macro\' support for another application, which controls a piece of equip

4条回答
  •  情书的邮戳
    2021-02-15 18:06

    For python 2.x, I like to use the docstring

    def my_func(txt):
        """{
        "name": "Justin",
        "age"   :15
        }"""
        pass
    

    and it can be automatically assign to the function object with this snippet

    for f in globals():
        if not hasattr(globals()[f], '__call__'):
            continue
        try:
            meta = json.loads(globals()[f].__doc__)
        except:
            continue
        for k, v in meta.items():
            setattr(globals()[f], k, v)
    

提交回复
热议问题