diff options
author | Qiangning Hong <hongqn@douban.com> | 2014-08-08 11:15:24 +0800 |
---|---|---|
committer | Qiangning Hong <hongqn@douban.com> | 2014-08-08 11:15:24 +0800 |
commit | 69a3a3da9ed280831787bcecd6ee47caa2969571 (patch) | |
tree | 96e33ff0590558b04d67ee44e7c0d3c19270c19a | |
parent | 4c5bf00cb613be617c7f48d3b2b82a1c7b895ac1 (diff) | |
download | pep8-69a3a3da9ed280831787bcecd6ee47caa2969571.tar.gz |
allow use # noqa to disable E721 warning
Sometimes `isinstance()` is not suitable for comparing types. For
example, someone may want to make sure an object is exact instance of a
type, not instance of its subclasses.
-rw-r--r-- | docs/intro.rst | 2 | ||||
-rwxr-xr-x | pep8.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/docs/intro.rst b/docs/intro.rst index 5e3af1f..806bbba 100644 --- a/docs/intro.rst +++ b/docs/intro.rst @@ -323,7 +323,7 @@ This is the current list of error and warning codes: +----------+----------------------------------------------------------------------+ | E714 | test for object identity should be 'is not' | +----------+----------------------------------------------------------------------+ -| E721 | do not compare types, use 'isinstance()' | +| E721 (^) | do not compare types, use 'isinstance()' | +----------+----------------------------------------------------------------------+ | E731 | do not assign a lambda expression, use a def | +----------+----------------------------------------------------------------------+ @@ -974,7 +974,7 @@ def comparison_negative(logical_line): yield pos, "E714 test for object identity should be 'is not'" -def comparison_type(logical_line): +def comparison_type(logical_line, noqa): r"""Object type comparisons should always use isinstance(). Do not compare types directly. @@ -990,7 +990,7 @@ def comparison_type(logical_line): Okay: if type(a1) is type(b1): """ match = COMPARE_TYPE_REGEX.search(logical_line) - if match: + if match and not noqa: inst = match.group(1) if inst and isidentifier(inst) and inst not in SINGLETONS: return # Allow comparison for types which are not obvious |