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)
我目前正在开发我的第一个网站,这是一个 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)