[Python-Dev] cpython: Uniformize argument names of "call" functions

Victor Stinner victor.stinner at gmail.com
Wed Nov 30 04:15:08 EST 2016


2016-11-30 10:01 GMT+01:00 Serhiy Storchaka <storchaka at gmail.com>:
>>   Uniformize argument names of "call" functions
>>
>> * Callable object: callable, o, callable_object => func
>> * Object for method calls: o => obj
>> * Method name: name or nameid => method
>
> This change looks wrong to me. "callable" and "callable_object" are better
> names for functions like PyObject_Call(), since it supports not just
> functions, but any callables. "name" is appropriate name of the parameter
> that denotes a method name, not a method object.

(Oh no, I avoided a review to try to avoid bikeshedding...)

I tried to be consistent between argument names and function names.
For example, I expect that you have to pass a *function* to
PyObject_CallFunction(), and that you have to pass a *method* to
PyObject_CallMethod().

--

In third party code, I don't recall having seen a variable called
"callable" (or they are very rare?). In the stdlib, "func" is much
more common than "callable", raw statistics (default branch):

$ grep '\<func\>' Lib/*.py|wc -l
318
$ grep '\<callable\>' Lib/*.py|wc -l
115

In CPython C code, "func" is also more common than "callable" (3.5 branch):

$ grep '\<func\>' */*.c|wc -l
725
$ grep '\<callable\>' */*.c|wc -l
126

My concern is not to be accurate in the variable name, just to use a
convenient, short and common name to *uniformize* the code.

Victor


More information about the Python-Dev mailing list