code: def without_columns(head, *tails) -> Expression:
      """
      Creates an expression that selects all columns except for the given range of columns. It can
      be used wherever an array of expression is accepted such as function calls, projections, or
      groupings.
  
      A range can either be index-based or name-based. Indices start at 1 and boundaries are
      inclusive.
  
      e.g. without_columns(range_("b", "c")) or without_columns(col("c"))
  
      .. seealso:: :func:`~pyflink.table.expressions.range_`,
                   :func:`~pyflink.table.expressions.with_columns`
      """
      gateway = get_gateway()
      tails = to_jarray(
          gateway.jvm.Object, [_get_java_expression(t) for t in tails]
      )
      return _binary_op("withoutColumns", head, tails)
  
imports: from typing import Union
  from pyflink import add_version_doc
  from pyflink.java_gateway import get_gateway
  from pyflink.table.expression import Expression, _get_java_expression, TimePointUnit, JsonOnNull
  from pyflink.table.types import _to_java_data_type, DataType
  from pyflink.table.udf import UserDefinedFunctionWrapper
  from pyflink.util.java_utils import to_jarray, load_java_class
label_desc: Use image node_id 51 for calling a global function with example usage: without_columns(head) and returns: _binary_op