def get_dimensional_expr(expr):
if isinstance(expr, Mul):
return Mul(*[Quantity.get_dimensional_expr(i) for i in expr.args])
elif isinstance(expr, Pow):
return Quantity.get_dimensional_expr(expr.base) ** expr.exp
elif isinstance(expr, Add):
# return get_dimensional_expr()
raise NotImplementedError
elif isinstance(expr, Quantity):
return expr.dimension.name
return 1
评论列表
文章目录