Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #105373
| From | "Joseph L. Casale" <jcasale@activenetwerx.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: Static caching property |
| Date | 2016-03-21 16:49 +0000 |
| Message-ID | <mailman.447.1458579150.12893.python-list@python.org> (permalink) |
| References | <35a5c4206a0c40e584d62d5d37b068b3@activenetwerx.com> <56f0230e$0$1616$c3e8da3$5496439d@news.astraweb.com> |
> I think Joseph is using "static" in the Java sense of being associated with > the class rather than an instance. (In Java, members of classes must be > known at compile-time.) Yup, so a single value on the class itself, not instance specific. > But what you can do is have the property refer to a class attribute: > > > py> class Test(object): > ... _private = 999 > ... @property > ... def x(self): > ... return type(self)._private > ... @x.setter > ... def x(self, value): > ... type(self)._private = value > ... > py> a = Test() > py> b = Test() > py> c = Test() > py> a.x > 999 > py> b.x = 50 > py> c.x > 50 > py> a.x > 50 Right, but _private refers to an api call that is expensive and may not even be accessed, so while I may new up three instances of Test across a, b and c, if none of those end up accessing var x, it shouldn't get fetched. Without some deferred execution, if the value of _private is a callable whose return value is what I am interested in, it gets invoked the moment the class is compiled. In the non static sense this is trivial to accomplish with the descriptor protocol, I am just not clear for the static sense. Thanks Ian and Steven, jlc
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Static caching property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-21 10:15 -0600
Re: Static caching property Steven D'Aprano <steve@pearwood.info> - 2016-03-22 03:36 +1100
Re: Static caching property "Joseph L. Casale" <jcasale@activenetwerx.com> - 2016-03-21 16:49 +0000
Re: Static caching property Chris Angelico <rosuav@gmail.com> - 2016-03-22 03:54 +1100
Re: Static caching property "Joseph L. Casale" <jcasale@activenetwerx.com> - 2016-03-21 17:03 +0000
Re: Static caching property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-21 11:44 -0600
Re: Static caching property Ethan Furman <ethan@stoneleaf.us> - 2016-03-21 10:45 -0700
Re: Static caching property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-21 11:48 -0600
Re: Static caching property Steven D'Aprano <steve@pearwood.info> - 2016-03-22 11:05 +1100
Re: Static caching property Chris Angelico <rosuav@gmail.com> - 2016-03-22 11:15 +1100
Re: Static caching property Ian Kelly <ian.g.kelly@gmail.com> - 2016-03-22 07:30 -0600
csiph-web