pynbody.units.takes_arg_in_units#
- pynbody.units.takes_arg_in_units(*args, **orig_kwargs)[source]#
Returns a decorator to create a function which auto-converts input to given units.
Usage:
@takes_arg_in_units((2, "Msol"), (1, "kpc"), ("blob", "erg")) def my_function(arg0, arg1, arg2, blob=22) : print("Arg 2 is",arg2,"Msol") print("Arg 1 is",arg1,"kpc") print("blob is",blob,"ergs")
>>> My_function(22, "1.e30 kg", 23, blob="12 J") Input 3 is 0.5 Msol Input 2 is 23 kpc