[英]Pass parameter into Python function
我有一个接受美丽汤对象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
那么我该如何传递呢?
鉴于所需内容的复杂性,您应该采用一个函数,以便调用者可以提供:
def get_info(soup, parse_line):
info = parse_line(soup)
get_info(soup, lambda x: x.findAll('div',{'id':'hideinse'})[0]('a',href=True))
通过传递lambda,您可能会以最少的头痛来获得最大的灵活性:
def get_info(callback):
info = callback()
get_info(lambda: soup.findAll('div',{'id':'hideinse'})[0]('a',href=True))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.