code: def get_column_names(data, interpret_as_excluded, column_names):
      assert interpret_as_excluded in [True, False]
      assert type(column_names) in [list, type(None)]
  
      all_columns = data.column_names()
  
      if column_names is None:
          selected_columns = all_columns
      else:
          selected_columns = column_names
  
      if interpret_as_excluded:
          exclude_set = set(selected_columns)
          return [c for c in all_columns if c not in exclude_set]
      else:
          return selected_columns
  
file_path: turicreate/src/python/turicreate/toolkits/_feature_engineering/_internal_utils.py
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  import copy
  from turicreate.util import _raise_error_if_not_of_type
  import logging
  import os
  from six.moves.urllib.request import urlretrieve
  import zipfile
label_desc: Use image node_id 3 for calling a global function with example usage: get_column_names(data, interpret_as_excluded, column_names) and returns: unknown, selected_columns