How to make Python interpreter a little more strict?

BartC bc at freeuk.com
Sun Mar 27 16:49:20 EDT 2016


On 27/03/2016 21:32, Tim Chase wrote:
> On 2016-03-27 14:28, Steven D'Aprano wrote:

>> In this case, the two lines "fnc" and "next" simply look up the
>> function names, but without actually calling them. They're not
>> quite "no-ops", since they can fail and raise NameError if the name
>> doesn't exist, but otherwise they might as well be no-ops.
>
> Which is actually useful.  I've got some 2.4 code that reads
>
>    try:
>      any
>    except NameError:
>      def any(...):
>        ...
>
> (with a similar block for all() )
>
> I don't want to call any() or all(), I simply want to test whether
> they exist.

But would it have been much of an imposition to have typed:

     try:
       test = any
     except NameError:
       def any(...):
         ...

? (Or any of the half dozen ways there must be to test the existence of 
a name.)

-- 
Bartc



More information about the Python-list mailing list