Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #56547

Re: Python's and and Pythons or

References <91180c35-413f-4b65-a224-917d8d68b7ec@googlegroups.com> <a471eecd-2e9f-4d32-8825-bdc088a0ecb0@googlegroups.com>
Date 2013-10-10 17:45 +1100
Subject Re: Python's and and Pythons or
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.925.1381387558.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Thu, Oct 10, 2013 at 5:12 PM, Peter Cacioppi
<peter.cacioppi@gmail.com> wrote:
> I'm trying to think of a good example usage of echo-argument and. Maybe something like
>
> possible = foo and foo.allowsit()
> if (possible is None) :
>    print "foo not provided"
> if (possible is False) :
>    print "foo doesn't allow it"
>
> A bit awkward, echo-argument or is more naturally useful to me then echo-argument and.

first_element = some_list[0]    # Oops, may crash

try:
    first_element = some_list[0]
except IndexError:
    firstelement = None   # A bit verbose

first_element = some_list and some_list[0]

# or if you want a zero instead of an empty list:
first_element = len(some_list) and some_list[0]


Also, consider the case where you have a function, or None:

result = func(*args,**kwargs)   # NoneType is not callable

result = func and func(*args,**kwargs)

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Python's and  and Pythons or Peter Cacioppi <peter.cacioppi@gmail.com> - 2013-10-09 16:54 -0700
  Re: Python's and  and Pythons or Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-10-10 00:36 +0000
    Re: Python's and and Pythons or Chris Angelico <rosuav@gmail.com> - 2013-10-10 12:13 +1100
  Re: Python's and  and Pythons or Peter Cacioppi <peter.cacioppi@gmail.com> - 2013-10-09 23:12 -0700
    Re: Python's and and Pythons or Chris Angelico <rosuav@gmail.com> - 2013-10-10 17:45 +1100
    Re: Python's and  and Pythons or Ethan Furman <ethan@stoneleaf.us> - 2013-10-09 23:46 -0700
    Re: Python's and and Pythons or Terry Reedy <tjreedy@udel.edu> - 2013-10-10 03:43 -0400
    Re: Python's and and Pythons or Chris Angelico <rosuav@gmail.com> - 2013-10-10 19:03 +1100
    Re: Python's and and Pythons or Ethan Furman <ethan@stoneleaf.us> - 2013-10-10 06:33 -0700
    Re: Python's and and Pythons or Terry Reedy <tjreedy@udel.edu> - 2013-10-10 21:41 -0400
    Re: Python's and and Pythons or Ethan Furman <ethan@stoneleaf.us> - 2013-10-10 19:47 -0700
  Re: Python's and  and Pythons or Peter Cacioppi <peter.cacioppi@gmail.com> - 2013-10-09 23:55 -0700

csiph-web