UnitBase#
- class astropy.units.UnitBase[源代码]#
基类:
object
单位的抽象基类。
单元上的大多数算术运算都是在这个基类中定义的。
不应该由用户直接实例化。
属性摘要
单位的基地。
以CGS单位表示的单位。
在尺寸上与该单元兼容的物理类型。
单位基地的权力。
单位的规模。
用SI单位表示的单位。
方法总结
compose
([equivalencies, units, max_depth, ...])返回表示给定单元的最简单的组合单元。
decompose
([bases])返回仅由不可约单位组成的单位对象。
find_equivalent_units
([equivalencies, ...])返回与所有类型相同的单位列表
self
.get_converter
(other[, equivalencies])创建一个函数,将值从此单位转换为另一个单位。
in_units
(other[, value, equivalencies])is_equivalent
(other[, equivalencies])检查该单位是否相当于
other
.is_unity
\()检查单位是否未缩放且无维度。
to
(other[, value, equivalencies])以指定的单位返回转换后的值。
to_string
([format])以给定格式将单位输出为字符串。
to_system
\(系统)将此单位转换为属于给定系统的单位。
属性文档
- bases#
单位的基地。
- cgs#
以CGS单位表示的单位。
- 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#
用SI单位表示的单位。
方法文件
- compose(equivalencies=[], units=None, max_depth=2, include_prefix_units=None)[源代码]#
返回表示给定单元的最简单的组合单元。由于单元可能有多个同样简单的组合,因此总是返回单元列表。
- 参数:
- equivalencies :
list
的tuple
PYTHON:PYTHON列表:元组 要同时列出的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如,
set_enabled_equivalencies
。使用None
若要关闭所有等效项,请执行以下操作。- units :
set
的Unit
,可选单位集,可选 如果没有提供,任何已知的单位都可以用来合成。否则,
units
是包含要组成的单元的dict、module或sequence。- max_depth :
int
,可选PYTHON:int,可选 组成复合单元时要使用的最大递归深度。
- include_prefix_units : bool ,可选可选的布尔
- equivalencies :
- 返回:
- units :
list
的CompositeUnit
Python:CompositeUnit列表 候选作文的列表。这些都将同样简单,但可能无法自动确定哪个候选人更好。
- units :
- decompose(bases: Collection[UnitBase] = ()) UnitBase [源代码]#
返回仅由不可约单位组成的单位对象。
- 参数:
- bases : sequence 的
UnitBase
,可选Python:UnitBase的序列,可选 分解成的基。如果没有提供,分解成任何不可还原的单位。当提供时,分解结果将只包含给定的单元。这将引发一个
UnitsError
如果不可能的话。
- bases : sequence 的
- 返回:
- unit :
CompositeUnit
CompositeUnit
只包含不可约单位的对象。
- unit :
- find_equivalent_units(equivalencies=[], units=None, include_prefix_units=False)[源代码]#
返回与所有类型相同的单位列表
self
.- 参数:
- 返回:
- get_converter(other, equivalencies=[])[源代码]#
创建一个函数,将值从此单位转换为另一个单位。
- 参数:
- other : astropy:unit-like占星体:单位状
要转换为的单位。
- equivalencies :
list
的tuple
PYTHON:PYTHON列表:元组 如果单位不能直接转换,可尝试的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如,
set_enabled_equivalencies
。使用None
若要关闭所有等效项,请执行以下操作。
- 返回:
- func :
callable()
Python:Callable() 一个可调用的对象,采用类似数组的参数并返回从自我单位转换为他人单位的参数。
- func :
- 加薪:
UnitsError
如果单位无法相互转换。
笔记
该方法在内部使用
Quantity
转换为不同的单位。请注意,返回的函数接受并返回值,而不是量。
- in_units(other, value=1.0, equivalencies=[])[源代码]#
自 7.0 版本弃用: in_units函数已被废弃,可能会在未来的版本中删除。 改为使用to()。
Alias
to
为了与pynbody向后兼容。
- to(other, value=1.0, equivalencies=[])[源代码]#
以指定的单位返回转换后的值。
- 参数:
- other : astropy:unit-like占星体:单位状
要转换为的单位。
- value :
int
,float
,或 scalar array_like ,可选PYTHON:INT、PYTHON:FLOAT或标量NAMPY:ARRAY_LIKE,可选 当前单位中要转换为指定单位的值。如果未提供,则默认为1.0
- equivalencies :
list
的tuple
PYTHON:PYTHON列表:元组 如果单位不能直接转换,可尝试的等价对列表。看见 等价物 。该列表是对可能的全局缺省值的补充,例如,
set_enabled_equivalencies
。使用None
若要关闭所有等效项,请执行以下操作。
- 返回:
- 加薪:
UnitsError
如果单位不一致
- to_string(format: type[Base] | str | None = None, **kwargs) str [源代码]#
以给定格式将单位输出为字符串。
- 参数:
- format :
astropy.units.format.Base
subclass orstr
或None
astropy.units. form.Base subtitle或pPython:stra或pPython:无 格式或格式化程序类的名称。 如果未提供(或
None
),默认为通用格式。- **kwargs
转发到格式化程序的进一步选项。当前认可的是
fraction
,可以采用下列值:
- format :
- 加薪:
TypeError
如果
format
是错误的类型。ValueError
如果
format
或fraction
都不被认可。
实例
>>> 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.si
和astropy.units.cgs
.要使用您自己的模块,它必须包含单元对象和一个名为
bases
包含系统的基本单位。
- 返回:
- units :
list
的CompositeUnit
Python:CompositeUnit列表 尝试从一开始对更简单的单元进行排序(参见示例)。
- units :
实例
>>> import astropy.units as u >>> (u.N / u.m**2).to_system(u.si) # preference for simpler units [Unit("Pa"), Unit("N / m2"), Unit("J / m3")] >>> u.Pa.to_system(u.cgs) [Unit("10 Ba"), Unit("10 P / s")] >>> u.Ba.to_system(u.si) [Unit("0.1 Pa"), Unit("0.1 N / m2"), Unit("0.1 J / m3")] >>> (u.AU/u.yr).to_system(u.cgs) # preference for base units [Unit("474047 cm / s"), Unit("474047 Gal s")] >>> (u.m / u.s**2).to_system(u.cgs) [Unit("100 cm / s2"), Unit("100 Gal")]