def_unit#
- astropy.units.def_unit(s, represents=None, doc=None, format=None, prefixes=False, exclude_prefixes=(), namespace=None)[source]#
Define a new unit.
This function differs from creating units directly with
UnitorIrreducibleUnitbecause it can also automatically generate prefixed units in the given namespace.- Parameters:
- s
python:strorpython:listofpython: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.
- representsastropy:unit-like, optional
The unit that this named unit represents. If not provided, a new
IrreducibleUnitis created.- doc
python:str, optional A docstring describing the unit.
- format
python:dict, optional A mapping to format-specific representations of this unit. For example, for the
Ohmunit, it might be nice to have it displayed as\Omegaby thelatexformatter. In that case,formatargument should be set to:{'latex': r'\Omega'}
- prefixesbool or python:iterable of
UnitPrefix, optional When
True, generate all of the SI prefixed versions of the unit as well. For example, for a given unitm, will generatemm,cm,km, etc. If only a few prefixed versions should be created then an iterable ofUnitPrefixinstances can be specified instead. Default isFalse, which means no prefixed versions will be generated.This function always returns the base unit object, even if multiple scaled versions of the unit were created.
- exclude_prefixes
Collectionofpython:str, optional If any of the SI prefixes need to be excluded, they may be listed here. For example, when defining the prefixes for
a,exclude_prefixesshould be set to["P"]so thatPawould still refer to the pascal.If a bare
stris used then the prefixes that will be excluded are the substrings of thestr, not just its individual characters.- namespace
python:dict, optional When provided, inject the unit (and all of its aliases and prefixes), into the given namespace dictionary.
- s
- Returns:
- unit
NamedUnit The newly-defined unit, or a matching unit that was already defined.
- unit
- Raises:
ValueErrorIf
representscannot be parsed as a unit, e.g., because it is a malformed string or a |Quantity| that is not a scalar.