code: def feature_name(self):
          
          num_feature = self.num_feature()
          # Get name of features
          tmp_out_len = ctypes.c_int(0)
          string_buffers = [ctypes.create_string_buffer(255) for i in range_(num_feature)]
          ptr_string_buffers = (ctypes.c_char_p * num_feature)(*map(ctypes.addressof, string_buffers))
          _safe_call(_LIB.LGBM_BoosterGetFeatureNames(
              self.handle,
              ctypes.byref(tmp_out_len),
              ptr_string_buffers))
          if num_feature != tmp_out_len.value:
              raise ValueError("Length of feature names doesn't equal with num_feature")
          return [string_buffers[i].value.decode() for i in range_(num_feature)]
docs: Get names of features.
  
          Returns
          -------
          result : list
              List with names of features.