On Sun, Jul 8, 2012 at 10:03 PM, Matt Harrison <matthewharri...@gmail.com> wrote: > Hey Kirby- > > Author of said book replying :) >
Wow fast. I wondered if you'd spider over here for a chat (smile), sensing vibrations in the Web. >> >> I didn't give it my highest rating though, for two reasons: >> >> (a) there's some representing that an exhaustive treatment of the >> function arguments and parameters topic, but the use of * (asterisk) >> on its own, to section off keyword-only parameters, is not mentioned >> > > I'm not sure I'm parsing this correctly. Could you elaborate? > There's this new syntax that allows you to specify that certain parameters may only be set with keyword syntax (not positionally), yet they don't have default values. I don't think your book covered that wrinkle. >>> def hodgepodge(a, b, *, c, d, e=1, f='f', **g): # note asterisk alone as a >>> parameter print(a, b, c, d, e, f, g, sep="\n") >>> hodgepodge(1, 2, 3, 4) # try to reach c, d positionally Traceback (most recent call last): File "<pyshell#26>", line 1, in <module> hodgepodge(1, 2, 3, 4) TypeError: hodgepodge() takes exactly 2 positional arguments (4 given) >>> hodgepodge(1, 2, c=3, d=4) # fill them in, the rest have defaults or >>> aren't mandatory (**g is happy to stay empty) 1 2 3 4 1 f {} >>> hodgepodge(1, 2, c=3, d=4, e=5, cat="dog") 1 2 3 4 5 f {'cat': 'dog'} >>> hodgepodge(1, 2) # c and d can't be left alone though, unlike typical >>> keyword parameters, which have defaults Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> hodgepodge(1, 2) TypeError: hodgepodge() needs keyword-only argument c >>> hodgepodge(1, 2, c=3) Traceback (most recent call last): File "<pyshell#30>", line 1, in <module> hodgepodge(1, 2, c=3) TypeError: hodgepodge() needs keyword-only argument d >>> hodgepodge(1, 2, c=3, d=4) # gotta mention 'em both Thanks for sharing more about your plans. I am excited to get up to speed on a Kindle (recent acquisition) in a way that boosts my Python and Bucky worlds, also Portland. In chronological order, my downloads have been: The Lost Inventions of Buckminster Fuller and Other Essays Blake, Trevor June 30, 2012 Portland Memorials Blake, Trevor June 30, 2012 Guide to: Learning Python Decorators Harrison, Matt June 30, 2012 The Time Machine Wells, H. G. (Herbert George) July 1, 2012 The Complete Works of Edgar Allan Poe (Includes Essay About the History of the Horror Genre) Poe, Edgar Allan, Golgotha Press July 1, 2012 Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig