Python 如何将参数作为模块的方法传递

Python 如何将参数作为模块的方法传递,python,argument-passing,Python,Argument Passing,嗨,我想调用f'append','more','arguments',a=1,b=2 但是append是pyquery模块的methodfunction 所以arg[0]是我的方法 我要做 e.arg[0]('<div id="cool"></div>') run like e.append('<div id="cool"></div>') -所以我想把passappend作为参数 import pyquery d = p

嗨,我想调用f'append','more','arguments',a=1,b=2

但是append是pyquery模块的methodfunction

所以arg[0]是我的方法

我要做

    e.arg[0]('<div id="cool"></div>') run like e.append('<div id="cool"></div>')
-所以我想把passappend作为参数

    import pyquery
    d = pq('<div id="guido"></div>')
    d.append('<div id="cool"></div>')
    str(d)

    def f (*arg,**kargs):
        e = pq('<div id="guido"></div>')
        e.arg[0]('<div id="cool"></div>') # <== HERE
        return str(e)

    f('append','more','arguments',a=1,b=2)
所以f'append','more','arguments',a=1,b=2必须返回

    '<div id="guido"><div id="cool"/></div>'

将d.append作为第一个参数传递。函数是第一类对象

将d.append作为第一个参数传递。函数是第一类对象

如果可以避免将方法名传递给方法本身,我建议不要在字符串中传递方法名,但如果不能,则需要的是getattr,一个通过字符串中包含的名称获取对象属性的函数。这将使您获得对所需方法的引用,然后您可以像往常一样调用它

def f (*arg, **kargs):
    e = pq('<div id="guido"></div>')
    getattr(e, arg[0])('<div id="cool"></div>')
    return str(e)

如果可以避免传递方法本身的引用,我建议不要在字符串中传递方法名称,但如果不能,则需要getattr,一个通过字符串中包含的名称获取对象属性的函数。这将使您获得对所需方法的引用,然后您可以像往常一样调用它

def f (*arg, **kargs):
    e = pq('<div id="guido"></div>')
    getattr(e, arg[0])('<div id="cool"></div>')
    return str(e)

你的问题不清楚。你能重新措辞并添加更多的上下文吗?你能把你的问题重新措辞清楚地慢下来吗:1 pyquery是做什么的,2你是如何尝试使用它的,3你为什么要这样使用它?pyquery一点也不重要。它是关于传递参数并将此参数用作模块的方法。所以d.append可以很好地工作,但是现在我想把'append'传递给函数f,比如f'append',好,我的函数f实例是一个模块,比如e=pq,现在我想在e.arg[0]'中使用arg[0]{can be-be-append,after,before,appendo,clone.}像e.append''.'一样,所以我想让e.arg[0]'.'像e.append'.'一样运行您的问题不清楚。你能重新措辞并添加更多的上下文吗?你能把你的问题重新措辞清楚地慢下来吗:1 pyquery是做什么的,2你是如何尝试使用它的,3你为什么要这样使用它?pyquery一点也不重要。它是关于传递参数并将此参数用作模块的方法。因此,d.append可以正常工作,但现在我想将'append'传递给函数f,比如f'append',好的,我的函数f实例是一个模块,比如e=pq,现在我想在e.arg[0]'中使用arg[0]{can be append,after,before,appendo,clone..}是的,谢谢。很好。对不起,我不能投票,我提出的每一个问题我都没有重点是的,谢谢。很好。对不起,我不能投票,我提出的每一个问题我都没有重点