Unit

class astropy.units.Unit(s='', represents=None, format=None, namespace=None, doc=None, parse_strict='raise')[source]

Bases: 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 no arguments:

    Unit()
    

    Returns the dimensionless unit.

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

See also: https://docs.astropy.org/en/stable/units/

Parameters:
stpython: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

The unit that this named unit represents.

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'}
namespacepython:dict, 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.

Attributes Summary

represents

The unit that this named unit represents.

Methods Summary

decompose([bases])

Return a unit object composed of only irreducible units.

is_unity()

Returns True if the unit is unscaled and dimensionless.

Attributes Documentation

represents

The unit that this named unit represents.

Methods Documentation

decompose(bases={})[source]

Return a unit object composed of only irreducible units.

Parameters:
basespython: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:
unitCompositeUnit

New object containing only irreducible unit objects.

is_unity()[source]

Returns True if the unit is unscaled and dimensionless.