I think this is a great idea, but I would not want to introduce a new keyword. How about

    foo is in bar     = hasattr(foo,bar)
    foo is not in bar = not hasattr(foo,bar)

But there are other common checks I do all the time that I would really like to have shortcuts for. Here are ways to do them without new keywords:

    foo is class bar = isinstance(foo,bar)
    foo is from bar  = issubclass(foo,bar)
    foo is with bar  = type(foo) == type(bar)

Can we make an exception to the moratorium, just for today?

--- Bruce

On Thu, Apr 1, 2010 at 8:15 AM, Robert Madole <robmadole@gmail.com> wrote:
So I just wrote my 1-gazillionth "if hasattr('method', my_object):" and wanted badly to write this.

       if 'method' on my_object:

I'm not the most experienced Python user, but as far as I can tell hasattr is the preferred way of checking if a method exists.

Please correct me if there is a better way, otherwise I'd like to see what everyone thinks about an "on" statement being added to the Python language.


Rob Madole
Python-ideas mailing list