
On 06/26/2013 07:46 AM, Joshua Landau wrote:
On 26 June 2013 09:04, Ethan Furman <ethan@stoneleaf.us> wrote:
On 06/26/2013 12:48 AM, Greg Ewing wrote:
Ron Adam wrote:
And I don't like the '=' with nothing on the right.
Expanding on the suggestion someone made of having a single marker of some kind in the argument list, I came up with this:
def __init__(self, text, font = system_font, style = 'plain'): default_size = calc_button_size(text, font, style) Widget.__init__(self, size = default_size, pass font, style)
I don't care for it.
A word doesn't stand out like a character does, plus this usage of pass is completely different from its normal usage.
We're already used to interpreting '*' as a coin with two sides, let's stick with it:
def apply_map(map, target, *, frobble): # '*' means frobble is keyword only ...
and later:
frobble = some_funny_stuff_here() . . . apply_map(map=kansas, target=toto, *, frobble) # '*' means frobble maps to keyword frobble
Whilst Greg Ewing has made me also much more sympathetic to this view, I feel that:
1) This is nearly unreadable - it does not say what it does in the slightest
And the '*' and '**' in function defintions do?
2) It's added syntax - that's a high barrier. I'm not convinced it's worth it yet.
It is a high barrier; but this does add a bit of symmetry to the new '*'-meaning-keyword-only symbol.
3) It still feels like hackery; I might prefer something explicitly hackery like this:
You'll get used to it. ;) -- ~Ethan~