Pylint:在 "return"(no-else-return)警告后禁用不必要的 "else"
Pylint: Disable Unnecessary "else" after "return" (no-else-return) warning
我正在查看我的 RC 文件,但我终究无法找到这些变量中的哪一个禁用了该功能。
我搜索了 "if"、"else" 和 "return",但没有看到任何内容。除非我错过了。
谢谢。
更多信息
pylint 1.7.2,
astroid 1.5.3
Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
我输入终端的内容
pylint --rcfile=.pylintrc Test.py
测试代码
""" Module Docstring """
def IS_POSITIVE(number):
""" detects positive """
if number > 0:
return "+++"
else:
return "---"
print IS_POSITIVE(3)
打印出来
************* Module Test
R: 27, 4: Unnecessary "else" after "return" (no-else-return)
------------------------------------------------------------------
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00)
您正在寻找 no-else-return (R1705)
。只需将这些添加到您的 .pylintrc
:
[REFACTORING]
no-else-return=no
您应该在 .pylintrc
文件的 disable
设置中将 no-else-return
添加到逗号分隔的禁用选项列表中。
另请参阅 Pylint 文档:
http://pylint.pycqa.org/en/latest/technical_reference/features.html#messages-control-options
在这种特殊情况下,您最好使用三元运算符。
def is_positive(number):
return "+++" if number > 0 else "---"
为了让 pylint 开心,解决如下
(1)
jobdone = False
if (not fdb) and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
_().dojob()
jobdone = True
elif fdb and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
_().dojob()
jobdone = True
if jobdone:
break
(2)
retval = None
if (not fdb) and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
retval = _().getter()
jobdone = True
elif fdb and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
retval = _().getter()
jobdone = True
if jobdone:
return retval
我正在查看我的 RC 文件,但我终究无法找到这些变量中的哪一个禁用了该功能。
我搜索了 "if"、"else" 和 "return",但没有看到任何内容。除非我错过了。
谢谢。
更多信息
pylint 1.7.2,
astroid 1.5.3
Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
我输入终端的内容
pylint --rcfile=.pylintrc Test.py
测试代码
""" Module Docstring """
def IS_POSITIVE(number):
""" detects positive """
if number > 0:
return "+++"
else:
return "---"
print IS_POSITIVE(3)
打印出来
************* Module Test
R: 27, 4: Unnecessary "else" after "return" (no-else-return)
------------------------------------------------------------------
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00)
您正在寻找 no-else-return (R1705)
。只需将这些添加到您的 .pylintrc
:
[REFACTORING]
no-else-return=no
您应该在 .pylintrc
文件的 disable
设置中将 no-else-return
添加到逗号分隔的禁用选项列表中。
另请参阅 Pylint 文档:
http://pylint.pycqa.org/en/latest/technical_reference/features.html#messages-control-options
在这种特殊情况下,您最好使用三元运算符。
def is_positive(number):
return "+++" if number > 0 else "---"
为了让 pylint 开心,解决如下
(1)
jobdone = False
if (not fdb) and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
_().dojob()
jobdone = True
elif fdb and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
_().dojob()
jobdone = True
if jobdone:
break
(2)
retval = None
if (not fdb) and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
retval = _().getter()
jobdone = True
elif fdb and (source.lower() in space.SOURCE):
_ = space.SOURCE[source.lower()]
retval = _().getter()
jobdone = True
if jobdone:
return retval