101 reputation
12
bio website katriel.co.uk
location Cambridge, United Kingdom
age 23
visits member for 4 years, 1 month
seen Sep 8 at 10:49
>>> class Oops(object):
...     def __init__(self):
...             Oops.__call__ = self
... 
>>> x = Oops()
>>> x()

>>> Z = lambda f: (lambda x: f(lambda *args: x(x)(*args)))(lambda x: f(lambda *args: x(x)(*args)))
>>> fact = Z(lambda f: lambda x: 1 if x == 0 else x * f(x-1))
>>> fact(5)
... 120

>>> 0 < 0 == 0
... False

def foo():
    return
    yield

raise TypeError() from ValueError()

def spam(*, ham):
    pass

Move code from try to else if you don't want to catch any errors that it produces.

try:
    do_not_do_this_at_home()
except ToldYouSo:
    die()
else:
    whaddyaknow()
finally:
    cleanup()

Yowza!

>>> class attrdict(dict):
...   def __init__(self, *args, **kwargs):
...     dict.__init__(self, *args, **kwargs)
...     self.__dict__ = self

Easy dynamic programming in Python 3.2:

@functools.lru_cache(maxsize=None)
def fib(n):
    if n < 2: return n
    return fib(n-1) + fib(n-2)

This user has not participated in any tags