Argument name should be lowercase

Chris Angelico rosuav at gmail.com
Fri Nov 11 15:20:58 EST 2022


On Sat, 12 Nov 2022 at 06:42, Stefan Ram <ram at zedat.fu-berlin.de> wrote:
>
> "Weatherby,Gerard" <gweatherby at uchc.edu> writes:
> >I'd personally find it weird to see an all-cap parameter
>
>   In the source code of the standard library, all-caps
>   notation is used for a parameter name sometimes
>   if that parameter name is "URL" or sometimes
>   when it is being initialized from an all-caps name as in:
>
> |def __del__(self, _warn=warnings.warn, RUN=RUN):
> |        if self._state == RUN:
> ...
> from "pool.py".
>
>   ("RUN=RUN" makes RUN have the value "RUN" had
>   at the time of the definition of the function.)
>

There are a few reasons to do that "snapshot" trick. The most common
is performance, but in this case, my guess is that (since it's a
__del__ method) it's to ensure that the objects are still referenced
when this function is called - to stop them getting disposed of
prematurely. Very rare, but important occasionally.

ChrisA


More information about the Python-list mailing list