我想将函数def elliptic()
的第一个结果插入到第二个函数entity_noun()
中。在第二个函数中,它找到具有特定值属性的节点。我希望从第一个函数的返回值中检索此值(引号"??????"
中的字符串)。
from bs4 import BeautifulSoup
def elliptic():
last_a_tag = soup.find_all("sn", elliptic="yes")
for item in last_a_tag:
entity = item.get('entity')
return(entity)
def entity_noun():
ent = soup.find(entity="??????")
noun = ent.find('n')
return(noun)
你有什么建议怎么做吗?
答案 0 :(得分:1)
你有两个功能。应该调用函数来返回结果。 如果你做这样的事情:
from bs4 import BeautifulSoup
def elliptic():
last_a_tag = soup.find_all("sn", elliptic="yes")
for item in last_a_tag:
entity = item.get('entity')
return(entity)
def entity_noun():
ent = soup.find(entity=elliptic())
noun = ent.find('n')
return(noun)
entity_noun()
您将致电entity_noun()
致电elliptic()
另一种选择是使用参数:
from bs4 import BeautifulSoup
def elliptic():
last_a_tag = soup.find_all("sn", elliptic="yes")
for item in last_a_tag:
entity = item.get('entity')
return(entity)
def entity_noun(X):
ent = soup.find(entity=X)
noun = ent.find('n')
return(noun)
A=elliptic()
entity_noun(A)
在这种情况下,您将调用第一个函数elliptic()
将结果保存在A
中,然后将A
传递给entity_noun()
。使用第二种方法,每个函数将彼此保持独立,因此可以在不同的上下文中独立使用。
答案 1 :(得分:1)
您可以在参数中传递调用函数的结果。
所以在这种情况下你会这样做:
ent = soup.find(entity=elliptic())