[Python-Dev] [Python-checkins] cpython (3.3): Issue #16641: Fix default values of sched.scheduler.enter arguments were (original) (raw)

Georg Brandl g.brandl at gmx.net
Sat Dec 29 22:07:49 CET 2012


On 12/29/2012 08:32 PM, Eli Bendersky wrote:

On Sat, Dec 29, 2012 at 11:17 AM, serhiy.storchaka <python-checkins at python.org_ _<mailto:python-checkins at python.org>> wrote: http://hg.python.org/cpython/rev/1c9c0f92df65 changeset: 81134:1c9c0f92df65 branch: 3.3 parent: 81132:5db0833f135b user: Serhiy Storchaka <storchaka at gmail.com <mailto:storchaka at gmail.com>> date: Sat Dec 29 21:13:45 2012 +0200 summary: Issue #16641: Fix default values of sched.scheduler.enter arguments were modifiable. files: Doc/library/sched.rst | 23 ++++++++++++++--------- Lib/sched.py | 8 ++++++-- Misc/NEWS | 3 +++ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/Doc/library/sched.rst b/Doc/library/sched.rst --- a/Doc/library/sched.rst +++ b/Doc/library/sched.rst @@ -36,19 +36,22 @@ >>> import sched, time >>> s = sched.scheduler(time.time, time.sleep) - >>> def printtime(): print("From printtime", time.time()) + >>> def printtime(a='default'): + ... print("From printtime", time.time(), a) ... >>> def printsometimes(): ... print(time.time()) - ... s.enter(5, 1, printtime, ()) - ... s.enter(10, 1, printtime, ()) + ... s.enter(10, 1, printtime) + ... s.enter(5, 2, printtime, argument=('positional',)) + ... s.enter(5, 1, printtime, kwargs={'a': 'keyword'}) ... s.run() ... print(time.time()) ... >>> printsometimes() 930343690.257 - From printtime 930343695.274 - From printtime 930343700.273 + From printtime 930343695.274 positional + From printtime 930343695.275 keyword + From printtime 930343700.273 default 930343700.276 .. scheduler-objects: @@ -59,7 +62,7 @@ :class:scheduler instances have the following methods and attributes: -.. method:: scheduler.enterabs(time, priority, action, argument=[], kwargs={}) +.. method:: scheduler.enterabs(time, priority, action, argument=(), kwargs={}) Schedule a new event. The time argument should be a numeric type compatible with the return value of the timefunc function passed to the constructor. @@ -67,8 +70,10 @@ priority. Executing the event means executing action(*argument, **kwargs). - argument must be a sequence holding the parameters for action. - kwargs must be a dictionary holding the keyword parameters for action. + Optional argument argument must be a sequence holding the parameters + for action if any used. + Optional kwargs argument must be a dictionary holding the keyword + parameters for action if any used. I don't see how this change improves the documentation. To keep the grammar correct and just state that the arguments are optional, I would simply replace "must be" by "is". For example: argument is a sequence holding the parameters for action. This is short, and since the function signature clearly shows that argument has a default value, I think it conveys the meaning it should.

Hi Eli,

I'm sure we non-native speakers are fine with any improvements you can make during commit review.

Georg



More information about the Python-Dev mailing list