pylint-errors

E0633 (unpacking-non-sequence)

:x: Problematic code:

class Foo:
    def __init__(self, numbers):
        self.numbers = numbers


foo = Foo([1, 2, 3])
a, b, c = foo
print(a, b, c)

:heavy_check_mark: Correct code:

class Foo:
    def __init__(self, numbers):
        self.numbers = numbers

    def __iter__(self):
        return iter(self.numbers)


foo = Foo([1, 2, 3])
a, b, c = foo
print(a, b, c)

Rationale:

Used when something which is not a sequence is used in an unpack assignment