From a4a564b4061ca0a495f2f2dba784d28b685b6f1d Mon Sep 17 00:00:00 2001 From: Vivien Maisonneuve Date: Tue, 19 Aug 2014 14:15:56 +0200 Subject: [PATCH 1/1] Make Dummy.__new__() inherit from Symbol.__new__() --- linpy/linexprs.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/linpy/linexprs.py b/linpy/linexprs.py index b97f048..d62c671 100644 --- a/linpy/linexprs.py +++ b/linpy/linexprs.py @@ -463,12 +463,15 @@ class Symbol(LinExpr): raise SyntaxError('invalid syntax') self = object().__new__(cls) self._name = name - self._coefficients = {self: Fraction(1)} self._constant = Fraction(0) self._symbols = (self,) self._dimension = 1 return self + @property + def _coefficients(self): + return {self: Fraction(1)} + @property def name(self): """ @@ -553,15 +556,8 @@ class Dummy(Symbol): """ if name is None: name = 'Dummy_{}'.format(Dummy._count) - elif not isinstance(name, str): - raise TypeError('name must be a string') - self = object().__new__(cls) + self = super().__new__(cls, name) self._index = Dummy._count - self._name = name.strip() - self._coefficients = {self: Fraction(1)} - self._constant = Fraction(0) - self._symbols = (self,) - self._dimension = 1 Dummy._count += 1 return self -- 2.20.1