def_unit

astropy.units.def_unit(s, represents=None, doc=None, format=None, prefixes=False, exclude_prefixes=[], namespace=None)[source]

Factory function for defining new units.

Parameters:
spython:str or python:list of python:str

The name of the unit. If a list, the first element is the canonical (short) name, and the rest of the elements are aliases.

representsUnitBase instance, optional

The unit that this named unit represents. If not provided, a new IrreducibleUnit is created.

docpython:str, optional

A docstring describing the unit.

formatpython:dict, optional

A mapping to format-specific representations of this unit. For example, for the Ohm unit, it might be nice to have it displayed as \Omega by the latex formatter. In that case, format argument should be set to:

{'latex': r'\Omega'}
prefixesbool or python:list, optional

When True, generate all of the SI prefixed versions of the unit as well. For example, for a given unit m, will generate mm, cm, km, etc. When a list, it is a list of prefix definitions of the form:

(short_names, long_tables, factor)

Default is False. This function always returns the base unit object, even if multiple scaled versions of the unit were created.

exclude_prefixespython:list of python:str, optional

If any of the SI prefixes need to be excluded, they may be listed here. For example, Pa can be interpreted either as “petaannum” or “Pascal”. Therefore, when defining the prefixes for a, exclude_prefixes should be set to ["P"].

namespacepython:dict, optional

When provided, inject the unit (and all of its aliases and prefixes), into the given namespace dictionary.

Returns:
unitUnitBase

The newly-defined unit, or a matching unit that was already defined.