input: Write a function to create a Python class which represents a 3D Vector with an `__init__` method to initialize the vector and a `__str__` method to return the vector as a string in the format "(x, y, z)". If the given input is not a valid vector representation, return an empty string.
  assert Vector3D(1, 2, 3).__str__() == "(1, 2, 3)"
  assert Vector3D(-1, 0, 5).__str__() == "(-1, 0, 5)"
  assert Vector3D(0, 0, 0).__str__() == "(0, 0, 0)"
  assert Vector3D(1.5, 2.5, 3.5).__str__() == "(1.5, 2.5, 3.5)"
  assert Vector3D(0, 0, 0.0).__str__() == "(0, 0, 0.0)"
  assert Vector3D(0).__str__() == ""
output: class Vector3D:
      def __init__(self, x, y=0, z=0):
          if isinstance(x, (int, float)) and isinstance(y, (int, float)) and isinstance(z, (int, float)):
              self.x = x
              self.y = y
              self.z = z
          else:
              self.x = self.y = self.z = None
  
      def __str__(self):
          if self.x is None or self.y is None or self.z is None:
              return ""
          return f"({self.x}, {self.y}, {self.z})"