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

2024-10-02 18:14:27 发布

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

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

不管怎么说,这部分代码工作得很好,我甚至可以说它看起来超级像Python。现在,我正在用django消息引发一些错误消息。 这里是指向文档的链接:https://docs.djangoproject.com/en/3.1/ref/contrib/messages/

我想做的是,当你输入一个不能被3整除的字母数时,我调用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错误:

方法调用中的参数“短语”没有值(pylint参数没有值)

我一直在读关于它的书,他们说你可以通过禁用pylint来解决它。然而,我希望有另一种解决方案,它不一定意味着禁用pylint

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


Tags: 方法代码self消息getreturnrequestdef
0条回答
网友
1楼 · 发布于 2024-10-02 18:14:27

该错误是由于代码最后一行中的表达式导致的:

self.build_protein(protein)

事实上,它缺少“短语”参数的值。您可能希望这样:

self.build_protein(protein, phrase)

相关问题 更多 >