如何使 pylint 报告未使用的 return 值

How to make pylint report unused return values

到以下代码:

"""Test with unused return value"""

from typing import List

def sorted_int_list(values: List[int]) -> List[int]:
    """Returns a new, sorted list"""
    return sorted(values)

def main() -> None:
    """Ignoring value returned by sorted_int_list"""
    values: List[int] = [3, 1, 2]
    sorted_int_list(values) # Should create some kind or error
    print(values)

if __name__ == "__main__":
    main()

pylint 说:

Your code has been rated at 10.00/10

但是我想让它报告 sorted_int_list 未使用的 return 值。可以吗?

Python是一种动态语言,静态分析工具无法知道函数是否有return 价值。如:

def foo(a):
    if a>0 return 42
    else: pass #do nothing, and not return if a <= 0

静态分析工具不能帮你解决逻辑问题

相关讨论:https://github.com/PyCQA/pylint/issues/647