Python Object-Oriented Python Advanced Objects Double

Having a hard time with this question

I keep having trouble with this question, the class returns int without doubling it, how can I change my code to make it work. And also what is the use to override the new if I need to use it
class Double(int):

    def __init__(self, *args, **kwargs):
        def __new__(self, *args, **kwargs):
            super().__new__(*args, **kwargs)
            double = int*2
            return double

int = Double()

2 Answers

Steven Parker
Steven Parker
207,988 Points

The checker apparently gave you a false "pass" on task 2.

The "__new__" method should not be inside the "__init__" method.

hope this helps

class Double(int):
      def __new__(*args,**kwargs):
        return 2 * int.__new__(*args,**kwargs)