Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #3958
| Date | 2011-04-24 10:07 -0700 |
|---|---|
| From | Ken Seehart <ken@seehart.com> |
| Subject | Re: Function __defaults__ |
| References | <4db3f444$0$29978$c3e8da3$5496439d@news.astraweb.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.798.1303666106.9059.python-list@python.org> (permalink) |
On 4/24/2011 2:58 AM, Steven D'Aprano wrote: > Consider this in Python 3.1: > > >>>> def f(a=42): > ... return a > ... >>>> f() > 42 >>>> f.__defaults__ = (23,) >>>> f() > 23 > > > Is this an accident of implementation, or can I trust that changing > function defaults in this fashion is guaranteed to work? This is documented in python 3, so I would expect it to be stable (until python 4, that is) http://docs.python.org/py3k/whatsnew/3.0.html#operators-and-special-methods http://docs.python.org/py3k/library/inspect.html#types-and-members The f.__defaults__ attribute was previously known as f.func_defaults (in python 2.x), which has been around, documented and stable for quite a while. So it's probably just as safe as any other monkey patching technique. :) Best of luck, Ken
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Function __defaults__ Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-04-24 09:58 +0000
Re: Function __defaults__ Terry Reedy <tjreedy@udel.edu> - 2011-04-24 12:48 -0400
Re: Function __defaults__ Benjamin Kaplan <benjamin.kaplan@case.edu> - 2011-04-24 13:02 -0400
Re: Function __defaults__ Daniel Kluev <dan.kluev@gmail.com> - 2011-04-25 04:18 +1100
Re: Function __defaults__ Ken Seehart <ken@seehart.com> - 2011-04-24 10:07 -0700
Re: Function __defaults__ Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-04-25 02:00 +0000
Re: Function __defaults__ Ken Seehart <ken@seehart.com> - 2011-04-24 14:44 -0700
Re: Function __defaults__ Daniel Kluev <dan.kluev@gmail.com> - 2011-04-25 08:47 +1100
Re: Function __defaults__ Terry Reedy <tjreedy@udel.edu> - 2011-04-24 17:53 -0400
Re: Function __defaults__ Ken Seehart <ken@seehart.com> - 2011-04-24 14:54 -0700
Re: Function __defaults__ "Colin J. Williams" <cjw@ncf.ca> - 2011-04-25 07:59 -0400
Re: Function __defaults__ Ken Seehart <ken@seehart.com> - 2011-04-25 05:30 -0700
Re: Function __defaults__ "Colin J. Williams" <cjw@ncf.ca> - 2011-04-25 10:24 -0400
csiph-web