astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v5.2.1 »
- Units and Quantities (`astropy.units`) »
- def_unit

# def_unit

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

  Factory function for defining new units.

  Parameters:
    s `python: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.

    represents `UnitBase` instance, optional

      The unit that this named unit represents. If not provided, a new `IrreducibleUnit` is 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 `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'}

    prefixes bool 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_prefixes `python: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"]`.

    namespace `python:dict`, optional

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

  Returns:
    unit `UnitBase`

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