class_docstr: stores a single scalar value and its gradient 
class_docstr_tok: ["stores","a","single","scalar","value","and","its","gradient"]
code: def __mul__(self, other):
      other = other if isinstance(other, Value) else Value(other)
      out = Value(self.data * other.data, (self, other), "*")
  
      def _backward():
          self.grad += other.data * out.grad
          other.grad += self.data * out.grad
  
      out._backward = _backward
  
      return out
  
file_path: micrograd/micrograd/engine.py
label_desc: Use image node_id 3 for calling the Value obj's underlying member method code with example usage: obj.__mul__(other) and returns: out