code: def make_signature(func):
      """
      Returns a tuple containing the paramenter list with defaults
      and parameter list.
  
      Examples
      --------
      >>> def f(a, b, c=2):
      >>>     return a * b * c
      >>> print(make_signature(f))
      (['a', 'b', 'c=2'], ['a', 'b', 'c'])
      """
  
      spec = signature(func)
      if spec.defaults is None:
          n_wo_defaults = len(spec.args)
          defaults = ("",) * n_wo_defaults
      else:
          n_wo_defaults = len(spec.args) - len(spec.defaults)
          defaults = ("",) * n_wo_defaults + tuple(spec.defaults)
      args = []
      for var, default in zip(spec.args, defaults):
          args.append(
              var if default == "" else var + "=" + repr(default)
          )
      if spec.varargs:
          args.append("*" + spec.varargs)
      if spec.keywords:
          args.append("**" + spec.keywords)
      return args, spec.args
  
imports: from functools import wraps
  import inspect
  from textwrap import dedent
  import warnings
  from pandas._libs.properties import cache_readonly
  from pandas.compat import PY2, callable, signature
label_desc: Use image node_id 5 for calling a global function with example usage: make_signature(func) and returns: args,  spec