UnitBase#

class astropy.units.UnitBase[源代码]#

基类:object

单位的抽象基类。

单元上的大多数算术运算都是在这个基类中定义的。

不应该由用户直接实例化。

属性摘要

aliases 

返回此单元的别名(长)名称。

bases 

返回装置底座。

cgs 

返回当前 Unit 具有CGS单元的实例。

name 

返回与此单元关联的规范(短)名称。

names 

返回与此单元关联的所有名称。

physical_type 

在尺寸上与该单元兼容的物理类型。

powers 

归还单位的力量。

scale 

返回单位刻度。

si 

返回当前 Unit 以国际单位制表示的实例。

方法总结

compose([equivalencies, units, max_depth, ...])

返回表示给定单元的最简单的组合单元。

decompose([bases])

返回仅由不可约单位组成的单位对象。

find_equivalent_units([equivalencies, ...])

返回与所有类型相同的单位列表 self .

in_units(other[, value, equivalencies])

Alias to 为了与pynbody向后兼容。

is_equivalent(other[, equivalencies])

返回 True 如果这个单位等于 other .

is_unity \()

返回 True 如果单位是无标度和无量纲的。

to(other[, value, equivalencies])

以指定的单位返回转换后的值。

to_string([format])

以给定格式将单位输出为字符串。

to_system \(系统)

将此单元转换为属于给定系统的单元。

属性文档

aliases#

返回此单元的别名(长)名称。

bases#

返回装置底座。

cgs#

返回当前 Unit 具有CGS单元的实例。

name#

返回与此单元关联的规范(短)名称。

names#

返回与此单元关联的所有名称。

physical_type#

在尺寸上与该单元兼容的物理类型。

返回:
PhysicalType

单元的物理类型的表示。

实例

>>> from astropy import units as u
>>> u.m.physical_type
PhysicalType('length')
>>> (u.m ** 2 / u.s).physical_type
PhysicalType({'diffusivity', 'kinematic viscosity'})

可以将物理类型与其他物理类型(包中推荐的)或字符串进行比较。

>>> area = (u.m ** 2).physical_type
>>> area == u.m.physical_type ** 2
True
>>> area == "area"
True

PhysicalType 对象可用于量纲分析。

>>> number_density = u.m.physical_type ** -3
>>> velocity = (u.m / u.s).physical_type
>>> number_density * velocity
PhysicalType('particle flux')
powers#

归还单位的力量。

scale#

返回单位刻度。

si#

返回当前 Unit 以国际单位制表示的实例。

方法文件

compose(equivalencies=[], units=None, max_depth=2, include_prefix_units=None)[源代码]#

返回表示给定单元的最简单的组合单元。由于单元可能有多个同样简单的组合,因此总是返回单元列表。

参数:
equivalencies : listtuplePYTHON:PYTHON列表:元组

要同时列出的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如, set_enabled_equivalencies 。使用 None 若要关闭所有等效项,请执行以下操作。

units : setUnit ,可选单位集,可选

如果没有提供,任何已知的单位都可以用来合成。否则, units 是包含要组成的单元的dict、module或sequence。

max_depth : int ,可选PYTHON:int,可选

组成复合单元时要使用的最大递归深度。

include_prefix_units : bool ,可选可选的布尔

什么时候? True ,在结果中包含前缀单位。默认为 True 如果序列被传递到 unitsFalse 否则。

返回:
units : listCompositeUnitPython:CompositeUnit列表

候选作文的列表。这些都将同样简单,但可能无法自动确定哪个候选人更好。

decompose(bases={})[源代码]#

返回仅由不可约单位组成的单位对象。

参数:
bases : sequenceUnitBase ,可选Python:UnitBase的序列,可选

分解成的基。如果没有提供,分解成任何不可还原的单位。当提供时,分解结果将只包含给定的单元。这将引发一个 UnitsError 如果不可能的话。

返回:
unitCompositeUnitCompositeUnit

只包含不可约单位的对象。

find_equivalent_units(equivalencies=[], units=None, include_prefix_units=False)[源代码]#

返回与所有类型相同的单位列表 self .

参数:
equivalencies : listtuplePYTHON:PYTHON列表:元组

要同时列出的等价对列表。看见 等价物 。任何给定的列表(包括空列表)都将取代可能生效的全局缺省值(由设置 set_enabled_equivalencies )

units : setUnit ,可选单位集,可选

如果未提供,则将搜索所有定义的单位以查找等效项。否则,可以是一个dict、module或sequence,其中包含要搜索等价性的单元。

include_prefix_units : bool ,可选可选的布尔

什么时候? True ,在结果中包含前缀单位。默认为 False .

返回:
units : listUnitBasePython:单元库列表

A list of unit objects that match u. A subclass of list (EquivalentUnitsList) is returned that pretty-prints the list of units when output.

in_units(other, value=1.0, equivalencies=[])[源代码]#

Alias to 为了与pynbody向后兼容。

is_equivalent(other, equivalencies=[])[源代码]#

返回 True 如果这个单位等于 other .

参数:
other : Unit, str ,或 tuple单位、python:str或python:tuple

要转换为的单位。如果指定了一个单元元组,则如果该单元与元组中的任何一个匹配,则此方法将返回true。

equivalencies : listtuplePYTHON:PYTHON列表:元组

如果单位不能直接转换,可尝试的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如, set_enabled_equivalencies 。使用 None 若要关闭所有等效项,请执行以下操作。

返回:
bool
is_unity()[源代码]#

返回 True 如果单位是无标度和无量纲的。

to(other, value=1.0, equivalencies=[])[源代码]#

以指定的单位返回转换后的值。

参数:
other : astropy:unit-like占星体:单位状

要转换为的单位。

value : intfloat ,或 scalar array_like ,可选PYTHON:INT、PYTHON:FLOAT或标量NAMPY:ARRAY_LIKE,可选

当前单位中要转换为指定单位的值。如果未提供,则默认为1.0

equivalencies : listtuplePYTHON:PYTHON列表:元组

如果单位不能直接转换,可尝试的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如, set_enabled_equivalencies 。使用 None 若要关闭所有等效项,请执行以下操作。

返回:
values : scalararray标量或数组

转换后的值。输入值序列作为numpy数组返回。

加薪:
UnitsError

如果单位不一致

to_string(format=<class 'astropy.units.format.generic.Generic'>, **kwargs)[源代码]#

以给定格式将单位输出为字符串。

参数:
format : astropy.units.format.Base instance or strAsterpy.units.Form.Base实例或python:str

格式或格式设置程序对象的名称。如果未提供,则默认为通用格式。

**kwargs

转发到格式化程序的进一步选项。当前认可的是 fraction ,可以采用下列值:

  • False :按原样显示负功率的单位底座;

  • ‘inline’或 True :使用单行分数;

  • “MULTLINE”:使用多行分数(仅适用于“LaTeX”、“Console”和“Unicode”格式)。

加薪:
TypeError

如果 format 是错误的类型。

ValueError

如果 formatfraction 都不被认可。

实例

>>> import astropy.units as u
>>> kms = u.Unit('km / s')
>>> kms.to_string()  # Generic uses fraction='inline' by default
'km / s'
>>> kms.to_string('latex')  # Latex uses fraction='multiline' by default
'$\\mathrm{\\frac{km}{s}}$'
>>> print(kms.to_string('unicode', fraction=False))
km s⁻¹
>>> print(kms.to_string('unicode', fraction='inline'))
km / s
>>> print(kms.to_string('unicode', fraction='multiline'))
km
──
s
to_system(system)[源代码]#

将此单元转换为属于给定系统的单元。因为可能有多个结果,所以总是返回一个列表。

参数:
system : modulePYTHON:模块

定义单元系统的模块。常用的有 astropy.units.siastropy.units.cgs .

要使用您自己的模块,它必须包含单元对象和一个名为 bases 包含系统的基本单位。

返回:
units : listCompositeUnitPython:CompositeUnit列表

该列表将被排序,以便只包含该系统的基本单元的单元将首先出现。