one-liner with lambda:
>>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)
test:
>>> binary(5)'101'
EDIT:
but then :(
t1 = time()for i in range(1000000): binary(i)t2 = time()print(t2 - t1)# 6.57236599922
in compare to
t1 = time()for i in range(1000000):'{0:b}'.format(i)t2 = time()print(t2 - t1)# 0.68017411232