On Mon, Sep 11, 2017 at 10:20 AM, Victor Stinner <victor.stin...@gmail.com> wrote:
> 2017-09-11 19:00 GMT+02:00 Chris Barker <chris.bar...@noaa.gov>: > > There are a heck of a lot in the os module: > > ['get_blocking', > > This one is not a good example: it takes a parameter. You cannot > convert it to a property. > I'm sure there are many that really do have a good reason for a getter function, but not all, by any means. When designing an API, when I have to choose between property and > function/method, I prefer function/method over a property when the > code is slow, especially at the first call. > > I prefer to "warn" users than a call (like the first one which fills a > cache) can be slow. > > Well, it's not a strong rule, sometimes I use a property even if the > first call has to fill a cache :-) > > Here the sysconfig has to build an internal cache at the first call > ... if I recall correctly. > If we do get properties on modules, then there is plenty of room to discuss best API for a given functionality. And chances are, we won't gratuitously re-factor the standard library. But your point is well taken, and makes my point in a way -- if we had properties, then there would be a getter function only if there was a good reason for it. As it stands, I have no idea if calling, for instance, sysconfig.get_config_vars is an expensive operation. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com