confused about the different built-in functions in Python

Terry Reedy tjreedy at udel.edu
Mon May 26 14:51:05 EDT 2014


On 5/26/2014 11:15 AM, Deb Wyatt wrote:
> <snip>
>>
>> On 5/25/14 7:55 PM, Deb Wyatt wrote:
>>> I am confused about how various built-in functions are called.  Some are
>>> called with dot notation
>>>
> <snip
>>>> How do you know/remember which way to call them?

>> It can be confusing.  Generally, built-in functions (like sum, len, etc)
>> are used when the operation could apply to many different types.  For
>> example, sum() can be used with any iterable that produces addable
>> things.
>>
>> Operations that are defined only for a single type (like .isalpha as a
>> string operation) are usually defined as methods on the type.
>>
>> This is not a black/white distinction, I'm sure there are interesting
>> counter-examples.  But this is the general principle.

Part of the answer is Python's history. Up to about 2.1, most built-in 
types did not have methods, though I know lists did. Ints and strings 
did not, or chr and ord might have been int.chr() and str.ord(). (The 
current string methods were originally functions in the string module.)

> Thank you for answering.  I meant to send this to the tutor list, but messed up.
 > So, I guess there isn't a magic answer to this one, and I'll learn
 > as I learn the language.  Have a great day.



-- 
Terry Jan Reedy




More information about the Python-list mailing list