你的做法是很好的,但我会更换为检查is_number与has(Quantity)from sympy.physics.units import Quantity,def unit(expr): return expr.subs({x: 1 for x in expr.args if not x.has(Quantity)})然后它也适用于象征性的金额,例如g = symbols('g')acc = g*meter/second**2unit(acc) # meter/second**2