input: Write a function to create a class in Python to represent a complex number. The class should have an initializer to set the real and imaginary parts, and a method to return the string representation of the complex number.
  assert ComplexNumber(3, 4).__str__()=="(3 + 4i)"
  assert ComplexNumber(0, 0).__str__()=="(0 + 0i)"
  assert ComplexNumber(-1, 2).__str__()=="(-1 + 2i)"
  assert ComplexNumber(1, -1).__str__()=="(1 + -1i)"
  assert ComplexNumber(10, 0).__str__()=="(10 + 0i)"
output: class ComplexNumber:
      def __init__(self, real, imag):
          self.real = real
          self.imag = imag
      
      def __str__(self):
          return f"({self.real} + {self.imag}i)"