astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v0.3 »
- Units and Quantities (`astropy.units`) »
- Unit

# Unit

class `astropy.units.core.``Unit`(st, represents=None, register=None, doc=None, format=None, namespace=None)

  Bases: `astropy.units.core.NamedUnit`

  The main unit class.

  There are a number of different ways to construct a Unit, but always returns a `UnitBase` instance. If the arguments refer to an already-existing unit, that existing unit instance is returned, rather than a new one.

  - From a string:

        Unit(s, format=None, parse_strict='silent')

    Construct from a string representing a (possibly compound) unit.

    The optional `format` keyword argument specifies the format the string is in, by default `"generic"`. For a description of the available formats, see `astropy.units.format`.

    The optional `parse_strict` keyword controls what happens when an unrecognized unit string is passed in. It may be one of the following:

    > - `'raise'`: (default) raise a ValueError exception.
    > - `'warn'`: emit a Warning, and return an `UnrecognizedUnit` instance.
    > - `'silent'`: return an `UnrecognizedUnit` instance.

  - From a number:

        Unit(number)

    Creates a dimensionless unit.

  - From a `UnitBase` instance:

        Unit(unit)

    Returns the given unit unchanged.

  - From `None`:

        Unit()

    Returns the null unit.

  - The last form, which creates a new `Unit` is described in detail below.

  Parameters:

  st : str or list of 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

  > The unit that this named unit represents.

  doc : str, optional

  > A docstring describing the unit.

  format : 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'}

  namespace : dictionary, optional

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

  Raises:

  ValueError :

  > If any of the given unit names are already in the registry.

  ValueError :

  > If any of the given unit names are not valid Python tokens.

  Methods Summary

  `decompose`([bases]) | Return a unit object composed of only irreducible units.
  `is_unity`() | Returns `True` if the unit is unscaled and dimensionless.

  Methods Documentation

  `decompose`(bases=set([]))

    Return a unit object composed of only irreducible units.

    Parameters:

    bases : sequence of UnitBase, optional

    > The bases to decompose into. When not provided, decomposes down to any irreducible units. When provided, the decomposed result will only contain the given units. This will raises a `UnitsError` if it’s not possible to do so.

    Returns:

    unit : CompositeUnit object

    > New object containing only irreducible unit objects.

  `is_unity`()

    Returns `True` if the unit is unscaled and dimensionless.