CodeQL 文档

类实例化中参数名称错误

ID: py/call/wrong-named-class-argument
Kind: problem
Security severity: 
Severity: error
Precision: very-high
Tags:
   - reliability
   - correctness
   - external/cwe/cwe-628
Query suites:
   - python-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

使用名称与正在实例化的类的__init__方法的参数不对应的命名参数,会导致在运行时出现TypeError

建议

检查参数名称是否有拼写错误并进行修正。如果名称明显不同,则表明存在逻辑错误。更正错误所需的更改取决于是否指定了错误的参数,或是否指定了错误的类。

示例

class Point(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y

p = Point(x=1, yy=2) # TypeError: 'yy' is not a valid keyword argument

参考资料

  • ©GitHub, Inc.
  • 条款
  • 隐私