PhysicalType¶
- class astropy.units.PhysicalType(unit, physical_types)[ソース]¶
ベースクラス:
object
1組の単位とサイズ的に互換性のある物理タイプを表す。
このような事例は以下の2つの方式のうちの1つでアクセスすべきである
get_physical_type
または使用するphysical_type
単位の属性。このようなものはユーザコードで直接インスタンス化するつもりはない.- パラメータ
注意事項
物理的なタイプは
PhysicalType
インスタンス(推奨)または物理タイプ名を含む文字列。いくつかの物理的タイプの名前が将来変更される可能性があるので、パッケージで後者の方法を使用することは提案されていません。後方互換性を維持するために、2つの物理タイプ名がスラッシュで分離されている場合、2つの物理タイプ名は、1つの文字列に含まれてもよい(例えば、
"momentum/impulse"
)である。物理タイプの文字列表現は、スペースではなく下線を含むことができます。実例.
PhysicalType
例は通過することができますphysical_type
単位の属性。>>> import astropy.units as u >>> u.meter.physical_type PhysicalType('length')
PhysicalType
インスタンスも呼び出すことでget_physical_type
それがそうです。この関数は、単位、物理タイプ名を含む文字列、または数字1を受け取る。>>> u.get_physical_type(u.m ** -3) PhysicalType('number density') >>> u.get_physical_type("volume") PhysicalType('volume') >>> u.get_physical_type(1) PhysicalType('dimensionless')
いくつかのユニットは、複数の物理タイプとサイズ的に互換性がある。パスカルは圧力や応力を表すために用いられるが,単位分解はエネルギー密度と同等である。
>>> pressure = u.get_physical_type("pressure") >>> pressure PhysicalType({'energy density', 'pressure', 'stress'}) >>> 'energy density' in pressure True
物理タイプが等しいかどうかは、他の物理タイプオブジェクトまたは物理タイプ名を含む可能性のある文字列についてテストされてもよい。
>>> area = (u.m ** 2).physical_type >>> area == u.barn.physical_type True >>> area == "area" True
量綱分析のために物理タイプを使用することができるように、乗算、除算、およびべき乗演算を有効にする。
>>> length = u.pc.physical_type >>> area = (u.cm ** 2).physical_type >>> length * area PhysicalType('volume') >>> area / length PhysicalType('length') >>> length ** 3 PhysicalType('volume')
物理タイプ名を含む文字列を用いて実行してもよい。
>>> "length" * area PhysicalType('volume') >>> "area" / length PhysicalType('length')
未知の物理的タイプは
"unknown"
それがそうです。>>> (u.s ** 13).physical_type PhysicalType('unknown')
未知の物理タイプについても,スケール解析を行うことができる.
>>> length_to_19th_power = (u.m ** 19).physical_type >>> length_to_20th_power = (u.m ** 20).physical_type >>> length_to_20th_power / length_to_19th_power PhysicalType('length')