[Python-Dev] PEP 362 Third Revision
Yury Selivanov
yselivanov.ml at gmail.com
Thu Jun 14 18:39:42 CEST 2012
On 2012-06-14, at 12:32 PM, Benjamin Peterson wrote:
> 2012/6/14 Yury Selivanov <yselivanov.ml at gmail.com>:
>> On 2012-06-14, at 11:24 AM, Brett Cannon wrote:
>>> On Thu, Jun 14, 2012 at 9:50 AM, Yury Selivanov <yselivanov.ml at gmail.com> wrote:
>>>
>>> [SNIP]
>>>
>>> Let's consider replacement of 'Parameter.is_*' set of attributes with
>>> a single 'Parameter.kind' attribute, which will have the following
>>> possible values: 'positional', 'vararg', 'keyword-only', 'varkwarg'.
>>>
>>> (I think 'positional' is more intuitive than 'index'?)
>>>
>>>
>>> +1 if this change is made.
>>
>> How about adding 'kind' and keeping 'is_*' attributes,
>> but making them read-only dynamic properties, i.e.:
>>
>> class Parameter:
>> ...
>>
>> @property
>> def is_vararg(self):
>> return self.kind == 'vararg'
>>
>> ...
>>
>> ?
>
> Seems a bit bloatly to me. (One way to do it.)
Yes, but on the other hand it solves "strings are error prone"
argument, keeps all 'is_*' attributes in sync, and makes them
read-only.
'kind' property may do validation on set, to diminish mistakes
probability even further.
-
Yury
More information about the Python-Dev
mailing list