PY3.E1137
Unsupported assignment operation
Emitted when an object does not support item assignment (i.e. doesn't define setitem method).
Noncompliant Code:
Copy
class Foo:
def __init__(self, numbers):
self.numbers = numbers
def __getitem__(self, value):
return self.numbers[value]
foo = Foo([1, 2, 3])
foo[0] = 0
print(foo[0])
Compliant Code:
Copy
class Foo:
def __init__(self, numbers):
self.numbers = numbers
def __getitem__(self, value):
return self.numbers[value]
def __setitem__(self, index, value):
self.numbers[index] = value
foo = Foo([1, 2, 3])
foo[0] = 0
print(foo[0])