Pylint 方法调用中的参数短语没有值

Pylint no value for argument phrase in method call

我目前正在开发我的第一个网站,这是一个 dna 到蛋白质的翻译器。它的作用是你输入一些可以被三整除的字母,如果链存在,它就会被翻译成蛋白质。

无论如何,这部分代码运行完美,我什至会说它看起来超级 pythonic。现在,我正在努力用 django 消息提出一些错误消息。 这是文档的 link:https://docs.djangoproject.com/en/3.1/ref/contrib/messages/

我想做的是,当你输入一些不能被三整除的字母时,我调用 message.error 来告诉链条无效。

以下是代码和方法调用,以备不时之需:

class TranslatorView(View):
   def build_protein(self, request, phrase):
        protein = []
        i = 0
        while i < len(phrase):
            codon = phrase[i: i + 3]
            amino = self.translate_amino(codon)
            if amino:
                protein.append(amino)
            else:
                print(f"The codon {codon} is not in self.mapper_1")
            i += 3
        if len(phrase) % 3:
            messages.error(request, "INVALID DNA CHAIN")

        return protein
    


    

    def get(self, request, *args, **kwargs):
        return render(request, 'main/translator.html')

    def post(self, request, *args, **kwargs):
        phrase = request.POST.get('text', 'translation')
        protein = request.POST.get('text','protein')
        return render(request, self.template_name, {'translation': self.translate(phrase), 'protein': ", ".join(self.build_protein(protein))})

但是,出现这个pylint错误:

方法调用中参数 'phrase' 没有值 (pylint-no-value-for-parameter)。

我一直在阅读它,他们说您可以通过禁用 pylint 来解决它。但是,我希望有另一种解决方案,它不一定意味着禁用 pylint。

也许改变了一些关于方法调用的东西,我真的不知道。

错误是由于代码最后一行中的这个表达式造成的:

self.build_protein(protein)

它确实缺少“短语”参数的值。您可能希望它是:

self.build_protein(protein, phrase)