[Python-Dev] n.numbits: method or property?
Mark Dickinson
dickinsm at gmail.com
Wed Nov 12 01:16:30 CET 2008
As Victor Stinner mentioned in a recent thread, there's a patch in
the works to add a numbits ... um ... gadget to integers, returning
the number of bits needed to represent the integer (or more
precisely, the ceiling of the log to base 2 of the integer). See
http://bugs.python.org/issue3439
Question for python-dev: if numbits were to be added, should it
be a property or a method? (Or something else entirely?)
More generally, what are the guidelines for determining
when it's appropriate to make something a property rather
than a method?
In favour of numbits being a (read-only, of course) property:
- it looks nicer that way
- it's a fast O(1) method, so is comparable to an attribute access
in terms of efficiency
- it can reasonably be thought of as a fundamental property of
a binary integer
- there are precedents, as Raymond points out in the issue
discussion: e.g. z.real, z.imag
Thoughts?
Mark
More information about the Python-Dev
mailing list