Complex Number Class

Define our own version

What does that look like?

Testing our Complex class

Calling the constructor for "Complex" does a chain of complicated hidden steps that culminate with the calling of __init__.

Correcting __repr__ to be properly unambiguous and introducing __str__

Demonstrating __str__ and __repr__ differences