functions vs methods
python at mrabarnett.plus.com
Sun Jul 22 11:49:03 EDT 2018
On 2018-07-22 10:08, Ben Finney wrote:
> INADA Naoki <songofacandy at gmail.com> writes:
>> Please don't refer the FAQ entry.
>> See this: https://bugs.python.org/issue27671
> Interesting. Thanks for raising that bug report.
> I offer my text as a starting point for a better explanation:
> Because ‘len’ works with *any* sequence, not only lists. To
> implement it as a method of each sequence type, it would have to be
> implemented on each type separately, which is a design that is
> needlessly more complex.
> This is common in Python: it uses so-called “duck typing”
> where the way an object behaves is more important than its type.
> Because “what is the length of this object” is a question valid for
> a broad variety of types, the design decision was made to allow it
> to accept any type for which that query makes sense.
> Feel free to use that (or something derived from it) to improve the
> documentation as you suggest.
Doesn't it have to be implemented on each type anyway?
The advantage is that it's enforces consistency.
In Java (or is it C#?) I seem to remember that some classes have a
.Length attribute, some have a .Length() method, and some have a
In Python they're all len(...).
More information about the Python-list