code: def execute(cls, ctx, op):
      axis = cls.get_axis(op.axis)
      (in_chunk,), device_id, xp = as_same_device(
          [ctx[c.key] for c in op.inputs],
          device=op.device,
          ret_extra=True,
      )
  
      with device(device_id):
          ctx[op.outputs[0].key] = xp.var(
              in_chunk,
              axis=axis,
              dtype=op.dtype,
              ddof=op.ddof,
              keepdims=bool(op.keepdims),
          )
  
imports: import numpy
  from math import factorial
  from ...None import opcodes
  from ...serialization.serializables import Int32Field
  from ..datasource import tensor
  from ..array_utils import as_same_device, device, get_array_module
  from .core import TensorReduction, TensorReductionMixin, numel
label_desc: Use image node_id 5 for calling the TensorVar obj's underlying member method code with example usage: obj.execute(cls, ctx, op) without return types