This coding style bad practise?
Martin P. Hellwig
mhellwig at xs4all.nl
Thu May 4 07:01:26 EDT 2006
bruno at modulix wrote:
> Martin P. Hellwig wrote:
>> Bruno Desthuilliers wrote:
>> <cut>
>>
>>> Why not just use the call operator instead ? ie:
>>>
>>> >>> id = IDGenerator(...)
>>> >>> id()
>>> 01_20060424_151903_1
>>> >>> id()
>>> 01_20060424_151905_2
>>>
>> Because of:
>>
>>>>>> id = IDGenerator("01",99)
>>>>>> id()
>>> Traceback (most recent call last):
>>> File "<pyshell#1>", line 1, in ?
>>> id()
>>> TypeError: 'IDGenerator' object is not callable
>>>
>
> Of course - you have to overload the call operator for this to work.
> Just rename IDGenerator.__repr__ to IDGenerator.__call__, and I garantee
> this will work - and will be *much* more cleaner than abusing __repr__.
>
>
>
Thanks! That was the thing I was looking for!
--
mph
More information about the Python-list
mailing list