将参数传递到Python函数中
我有一个接受对象的函数,将参数传递到Python函数中,python,function,beautifulsoup,Python,Function,Beautifulsoup,我有一个接受对象的函数,soup 我还想给它传递一个变量,告诉它如何处理soup。现在的功能是: def get_info(soup): info = soup.findAll('div',{'id':'hideinse'})[0]('a',href=True) #do stuff 但是我想做的是在这一行中传递findAll('div',{'id':'hideinse'})[0]('a',href=True),而不是作为一堆字符串。我不希望它总是findAll之类的,所以我想尝
soup
我还想给它传递一个变量,告诉它如何处理soup
。现在的功能是:
def get_info(soup):
info = soup.findAll('div',{'id':'hideinse'})[0]('a',href=True)
#do stuff
但是我想做的是在这一行中传递findAll('div',{'id':'hideinse'})[0]('a',href=True)
,而不是作为一堆字符串。我不希望它总是findAll
之类的,所以我想尝试一下,但不确定如何:
def get_ifno(soup, parse_line):
info = soup.parse_line
#do stuff
那么我该如何传递呢?通过传递lambdas,您可能会以最少的头痛获得最大的灵活性:
def get_info(callback):
info = callback()
get_info(lambda: soup.findAll('div',{'id':'hideinse'})[0]('a',href=True))
鉴于所需内容的复杂性,您应该采用调用方可以提供的函数:
def get_info(soup, parse_line):
info = parse_line(soup)
get_info(soup, lambda x: x.findAll('div',{'id':'hideinse'})[0]('a',href=True))