On 05/12/2010 21:01, Martin v. Loewis wrote:
result = myfunction (vars)

if not result:
     # error condition

Now above I first realized that the function can also return an empty
list under some conditions and so changed it to

If your function returns a list when successful, it should not return
False in the error case. Instead, it should return None (indicating that
there is no list).

Then the condition changes to

result = myfunction()
if result is None:
   # error condition

Using None for "no result available" is very common in Python. Using
False for the same purpose (i.e. returning either a list or False)
is not. If you return False from a function, the only other possible
result should be True.

As an example, the re module uses both two approaches.

If you ask it to compile a regex:

    rgx = re.compile(regex)

it either returns a PatternObject (if the regex is valid) or raises an
exception (if the regex isn't valid).

If you ask it to search a string:

    rgx.search(string)

it returns either a MatchObject (if the match is successful) or None
(if the match isn't successful).
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to