__new__ vs __init__: Why Python constructors rarely need __new__

__new__ vs __init__: Why Python constructors rarely need __new__

Heard about __new__, the constructor in Python?

You can basically forget about it. It’s for advanced, unusual cases.

Just use __init__! It runs automatically on every new instance.

__init__ is for assigning attributes to self (what other languages call “instance variables”).