1

奇妙な問題が 1 つあります。それ自体が他の関数の引数として渡される関数の引数を渡したり変更したりしたいです。詳細については、以下のコードを参照してください

def generic_method(selector_type='CSS', selector=None, parent_element=None, postfunc=None):

    # Do your stuff and get value of attr_value
    print "Doing Stuff"
    attr_value = '$123.70'

    print "Post-Processing Step"
    if postfunc:
        attr_value = postfunc(attrval=attr_value)

    return attr_value

# The 2 methods below are in separate file 
from functools import partial
def method_in_bot():
    p, q, r = 11, 12, 13
    postfunc = partial(post_processing, 12, p, q, r, post=23)
    value = generic_method('XPATH', '.class-name', 'parent_element', postfunc)
    return value

def post_processing(y=None, *args, **kwargs):
    attr_value = kwargs.get('attrval', 'None')
    if attr_value:
        return attr_value.split('$')
    return []

そのため、post_processingメソッドとそのすべてのパラメーターをgeneric_method使用して my にfunctools's partial渡し、新しい変数もattrvalpost_processing メソッドに渡しました。しかし、もっと望ましいのは、変数をにattr_value 直接渡すか代入することです。ypost_processing

実行時に関数のパラメーターを変更する方法を探していました。私はネットを検索していinspectて、関数に渡される引数について説明するPythonのライブラリであることがわかりました。このような場合に使用できますか。

4

1 に答える 1