爬虫中用函数过滤选择关键词,函数可以不加括号()直接运行?!
别的地方看到的一段代码这段代码是什么情况,为什么可以直接调用name_is_exists而不加括号?!
#3.过滤器,使用函数:
from bs4 import BeautifulSoup
bs = BeautifulSoup(html,'html.parser')
def name_is_exists(tag):
return tag.has_attr('name')
t_list = bs.find_all(name_is_exists)
直接调用name_is_exists
没加括号不叫调用,只是单纯的这个函数名
具体应该是 bs.find_all 里面调用时候会加上(),只是我们看不见吧 没有加括号,代表没有运行,只是进行传递。至于传递后,在哪里运行,进行调用,要看具体代码 本帖最后由 xiaosi4081 于 2020-6-12 16:58 编辑
#3.过滤器,使用函数:
from bs4 import BeautifulSoup
bs = BeautifulSoup(html,'html.parser')
def name_is_exists(tag):
return tag.has_attr('name')
t_list = bs.find_all(name_is_exists())
加了括号,但没参数,运行不了
页:
[1]