StructuredUnit#
- class astropy.units.StructuredUnit(units, names=None)[源代码]#
基类:
object
结构数量单位的容器。
- 参数:
- units : astropy:unit-like ,
tuple
的 astropy:unit-like ,或StructuredUnit
Astopy:类似单位的,巨型的:AstPy的元组:类似单位的,或结构单位 元组可以嵌套。如果一个
StructuredUnit
除非请求不同的名称,否则它将原封不动地返回。- names :
tuple
的str
,tuple
或列表;dtype
;或StructuredUnit
,可选PYTHON:PYTHON的元组:STR、PYTHON:TUPLE或LIST;DTYPE;或STRIPTIREDUNIT,可选 单位的字段名称,可能是嵌套的。可以从结构化的
dtype
或者另一个StructuredUnit
。对于嵌套的元组,默认情况下,较高条目的名称将是较低级别名称的串联。可以传入一个列表,其中包含较高级别的名称和较低级别名称的元组,以避免这种情况。对于元组,不必给出所有级别;对于任何未传入的级别,将使用默认字段名‘f0’、‘f1’等。
- units : astropy:unit-like ,
笔记
建议使用以下方法间接初始化该类
Unit
。例如,u.Unit('AU,AU/day')
。当与结构化数组组合以产生结构化的
Quantity
,数组字段名称将优先。一般说来,传入names
仅当该单元以未连接到Quantity
人们需要访问它的字段。实例
使用多种方法初始化
StructuredUnit
**>>> import astropy.units as u >>> su = u.Unit('(AU,AU/day),yr') >>> su Unit("((AU, AU / d), yr)") >>> su.field_names (['f0', ('f0', 'f1')], 'f1') >>> su['f1'] Unit("yr") >>> su2 = u.StructuredUnit(((u.AU, u.AU/u.day), u.yr), names=(('p', 'v'), 't')) >>> su2 == su True >>> su2.field_names (['pv', ('p', 'v')], 't') >>> su3 = u.StructuredUnit((su2['pv'], u.day), names=(['p_v', ('p', 'v')], 't')) >>> su3.field_names (['p_v', ('p', 'v')], 't') >>> su3.keys() ('p_v', 't') >>> su3.values() (Unit("(AU, AU / d)"), Unit("d"))
结构化单位与常规单位共享大多数方法:
>>> su.physical_type ((PhysicalType('length'), PhysicalType({'speed', 'velocity'})), PhysicalType('time')) >>> su.si Unit("((1.49598e+11 m, 1.73146e+06 m / s), 3.15576e+07 s)")
属性摘要
这个
StructuredUnit
实例,单位为CGS。可能是部件的字段名称的嵌套元组。
所有领域的物理类型。
这个
StructuredUnit
实例,以国际单位表示。方法总结
decompose
([bases])这个
StructuredUnit
仅由不可约单位组成的。is_equivalent
(other[, equivalencies])True
如果所有字段都等同于另一个的字段。items
\()keys
\()to
(other[, value, equivalencies])返回转换为指定单位的值。
to_string
([format])以给定格式将单位输出为字符串。
values
\()属性文档
- cgs#
这个
StructuredUnit
实例,单位为CGS。
- field_names#
可能是部件的字段名称的嵌套元组。
- physical_type#
所有领域的物理类型。
- si#
这个
StructuredUnit
实例,以国际单位表示。
方法文件
- decompose(bases={})[源代码]#
这个
StructuredUnit
仅由不可约单位组成的。- 参数:
- bases : sequence 的
UnitBase
,可选Python:UnitBase的序列,可选 分解成的基。如果没有提供,分解成任何不可还原的单位。当提供时,分解结果将只包含给定的单元。这将引发一个
UnitsError
如果不可能的话。
- bases : sequence 的
- 返回:
StructuredUnit
每个域的单位仅包含不可约单位。
- is_equivalent(other, equivalencies=[])[源代码]#
True
如果所有字段都等同于另一个的字段。- 参数:
- other :
StructuredUnit
StructuredUnit
要与之比较的结构化单元,或者可以对其进行初始化的对象。
- equivalencies :
list
的tuple
,可选PYTHON:PYTHON列表:元组,可选 如果单位不能直接转换,可尝试的等价对列表。看见 等价物 。该列表将应用于所有字段。
- other :
- 返回:
- to(other, value=<no value>, equivalencies=[])[源代码]#
返回转换为指定单位的值。
- 参数:
- other :
StructuredUnit
StructuredUnit
要转换到的单位。如有必要,将被转换为
StructuredUnit
使用的数据类型value
。- value : array_like ,可选NumPy:ARRAY_LIKE,可选
当前单位中要转换为指定单位的值。如果是序列,则第一个元素必须具有正确类型的条目以表示所有元素(例如,不具有
float
其他元素具有complex
)。如果没有给出,则假定在所有字段中都有1。- equivalencies :
list
的tuple
,可选PYTHON:PYTHON列表:元组,可选 如果单位不可直接转换时要尝试的等价对列表。参见 等价物 . 此列表是对可能的全局默认设置的补充,例如。,
set_enabled_equivalencies
. 使用None
关闭所有等效项。
- other :
- 返回:
- 加薪:
UnitsError
如果单位不一致
- to_string(format='generic')[源代码]#
以给定格式将单位输出为字符串。
单位之间用逗号隔开。
- 参数:
- format :
astropy.units.format.Base
instance orstr
Asterpy.units.Form.Base实例或python:str 格式或格式设置程序对象的名称。如果未提供,则默认为通用格式。
- format :
笔记
结构化单元可以写入所有格式,但只能使用‘Generic’重新读取。