signature_string_parts¶
- odl.util.utility.signature_string_parts(posargs, optargs, mod='!r')[source]¶
Return stringified arguments as tuples.
- Parameters:
- posargssequence
Positional argument values, always included in the returned string tuple.
- optargssequence of 3-tuples
Optional arguments with names and defaults, given in the form:
[(name1, value1, default1), (name2, value2, default2), ...]
Only those parameters that are different from the given default are included as
name=value
keyword pairs.Note: The comparison is done by using
if value == default:
, which is not valid for, e.g., NumPy arrays.- modstring or callable or sequence, optional
Format modifier(s) for the argument strings. In its most general form,
mod
is a sequence of 2 sequencespos_mod, opt_mod
withlen(pos_mod) == len(posargs)
andlen(opt_mod) == len(optargs)
. Each entrym
in those sequences can be a string, resulting in the following stringification ofarg
:arg_fmt = {{{}}}.format(m) arg_str = arg_fmt.format(arg)
For a callable
to_str
, the stringification is simplyarg_str = to_str(arg)
.The entries
pos_mod, opt_mod
ofmod
can also be strings or callables instead of sequences, in which case the modifier applies to all corresponding arguments.Finally, if
mod
is a string or callable, it is applied to all arguments.The default behavior is to apply the "{!r}" (
repr
) conversion. For floating point scalars, the number of digits printed is determined by theprecision
value in NumPy's printing options, which can be temporarily modified withnpy_printoptions
.
- Returns:
- pos_stringstuple of str
The stringified positional arguments.
- opt_stringstuple of str
The stringified optional arguments, not including the ones equal to their respective defaults.