Пожалуйста, прочитайте https://docs.sympy.org/latest/tutorial/gotchas.html. Вы путаете символы и переменные Python. Когда вы пишете U = R * I
, вы перезаписываете символ U
, который вы определили в предыдущей строке. Он становится переменной Python, указывающей на выражение R * I
. В частности, обратите внимание, что имя переменной Python не имеет ничего общего с именами символических переменных, используемых SymPy. Вы могли бы также написать expr = R * I
и использовать expr
вместо U
. SymPy не может «узнать», что R * I
находится в переменной Python с именем «U», «expr» или чем-то еще.
Если вы хотите, чтобы U
была символической переменной, вы должны оставить это так. Затем вы можете использовать Eq
для представления символического равенства:
>>> U, R, I = sympy.symbols('U, R, I')
>>> Eq(U, R*I)
Eq(U, I*R)