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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4