【发布时间】:2021-11-22 14:28:00
【问题描述】:
您好,我正在使用以下形式编写很多函数:
def is_match_a(doc):
pattern = # spaCy patterns
matcher = Matcher(nlp.vocab)
matcher.add("match_a", [pattern])
matches = matcher(doc)
if matches:
return True
我想编写一个函数,根据给定的模式和名称生成这些函数。我在想这样的事情:
def generate_matcher(pattern, name):
func = some code
return func
所以最终,我可以做以下事情
is_match_a = generate_matcher(pattern_a, name_a)
is_match_b = generate_matcher(pattern_b, name_b)
if is_match_a(doc):
# do something
elif is_match_b(doc):
# do something else
我是 python 新手,我不知道该怎么做。这是你使用装饰器的地方吗?
【问题讨论】:
-
在
is_match_a()你可以只用return matches而不是检查它是否为真
标签: python functional-programming spacy python-decorators