繁体   English   中英

将参数传递给Python函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM