def __new__(cls, variables, expr):
from sympy.sets.sets import FiniteSet
try:
for v in variables if iterable(variables) else [variables]:
if not v.is_Symbol:
raise TypeError("v is not a symbol")
except (AssertionError, AttributeError):
raise ValueError('variable is not a Symbol: %s' % v)
try:
variables = Tuple(*variables)
except TypeError:
variables = Tuple(variables)
if len(variables) == 1 and variables[0] == expr:
return S.IdentityFunction
obj = Expr.__new__(cls, Tuple(*variables), S(expr))
obj.nargs = FiniteSet(len(variables))
return obj
评论列表
文章目录