我的SymPy表达式由数字和物理量(带单位)的乘积组成
鉴于特定的尺寸系统,将这个表达式分成值和尺寸(单位)部分似乎是一个明确定义的问题。
如果不涉及常量,我可以找到一种方法。 例如提取值:
import sympy.physics.units as u
q = 20 *u.mm/u.kg
value = q.args[0] # 20
但是,如果常量是表达式的一部分,则它们包含需要提取的“隐藏”数值:
q2 = 10 * u.speed_of_light / u.mm
q2.args # (10, 1/, )
假设我们需要在SI系统中获得结果,但是值q2
的基本维未知,因此不清楚如何调用convert_to
函数。