Module peprock.models.unit
Unit of measurement model.
See https://en.wikipedia.org/wiki/Unit_of_measurement
Examples
>>> Unit.ohm.symbol
'Ω'
>>> Unit("W")
<Unit.watt: 'W'>
Classes
class Unit (*args, **kwds)
-
Unit Enum with symbol.
Expand source code
class Unit(enum.Enum): """Unit Enum with symbol.""" # metric units, see https://en.wikipedia.org/wiki/List_of_metric_units one = "1" # unit of a quantity of dimension one second = "s" # unit of time metre = "m" # unit of length gram = "g" # unit of mass (actually kilogram in SI) ampere = "A" # unit of electric current kelvin = "K" # unit of thermodynamic temperature mole = "mol" # unit of amount of substance candela = "cd" # unit of luminous intensity hertz = "Hz" # equal to one reciprocal second radian = "rad" # equal to one steradian = "sr" # equal to one newton = "N" # equal to one kilogram-metre per second squared pascal = "Pa" # equal to one newton per square metre joule = "J" # equal to one newton-metre watt = "W" # equal to one joule per second coulomb = "C" # equal to one ampere second volt = "V" # equal to one joule per coulomb weber = "Wb" # equal to one volt-second tesla = "T" # equal to one weber per square metre farad = "F" # equal to one coulomb per volt ohm = "Ω" # equal to one volt per ampere siemens = "S" # equal to one ampere per volt henry = "H" # equal to one volt-second per ampere # degree Celsius (°C) is equal to one kelvin lumen = "lm" # equal to one candela-steradian lux = "lx" # equal to one lumen per square metre becquerel = "Bq" # equal to one reciprocal second gray = "Gy" # equal to one joule per kilogram sievert = "Sv" # equal to one joule per kilogram katal = "kat" # equal to one mole per second @functools.cached_property def symbol(self: Unit) -> str: """Get the unit symbol.""" return self.value
Ancestors
- enum.Enum
Class variables
var ampere
var becquerel
var candela
var coulomb
var farad
var gram
var gray
var henry
var hertz
var joule
var katal
var kelvin
var lumen
var lux
var metre
var mole
var newton
var ohm
var one
var pascal
var radian
var second
var siemens
var sievert
var steradian
var tesla
var volt
var watt
var weber
Instance variables
var symbol
-
Get the unit symbol.
Expand source code
def __get__(self, instance, owner=None): if instance is None: return self if self.attrname is None: raise TypeError( "Cannot use cached_property instance without calling __set_name__ on it.") try: cache = instance.__dict__ except AttributeError: # not all objects have __dict__ (e.g. class defines slots) msg = ( f"No '__dict__' attribute on {type(instance).__name__!r} " f"instance to cache {self.attrname!r} property." ) raise TypeError(msg) from None val = cache.get(self.attrname, _NOT_FOUND) if val is _NOT_FOUND: val = self.func(instance) try: cache[self.attrname] = val except TypeError: msg = ( f"The '__dict__' attribute on {type(instance).__name__!r} instance " f"does not support item assignment for caching {self.attrname!r} property." ) raise TypeError(msg) from None return val