如何编写代码的重构版本?

2024-06-01 13:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

在codereview上,我得到了一个很好的答案:如何重构我的代码。你知道吗

https://codereview.stackexchange.com/questions/90378/how-should-i-refactor-my-insert-class/90385#90385

但是当我尝试代码时,我的IDE会发出错误:Unresolved reference w']' expected。代码有什么问题?我还在学习python,所以我不确定错误是什么,可能是输入错误。你知道吗

BAD_WORDS = ['penis', 'black money', 'escort']

if any[w in text or w.upper() in text or w.capitalize() in text
       for w in BAD_WORDS]:
    self.response.out.write('REMOVED')
    return

Tags: or答案代码textinhttpscom错误
2条回答

^{}是一个函数调用,因此您需要在列表周围加上括号:

BAD_WORDS = ['penis', 'black money', 'escort']

if any(w in text or w.upper() in text or w.capitalize() in text
                for w in BAD_WORDS):
    self.response.out.write('REMOVED')
    return

你所拥有的:

if any[w in text or w.upper() in text or w.capitalize() in text
                for w in BAD_WORDS]:

无效

首先,函数调用需要括号。其次,您可以将代码简化为:

any(w.lower() in text.lower().split() for w in BAD_WORDS)

相关问题 更多 >