Code speaks more than a thousand words:
def int2base(x, base):
    """ Converts int to string with given base representation.
        Credit to @Alex Martelli on http://stackoverflow.com/questions/2267362/convert-integer-to-a-string-in-a-given-numeric-base-in-python"""
    if x < 0: sign = -1
    elif x == 0: return digs[0]
    else: sign = 1
    x *= sign
    digits = []
    while x:
        digits.append(digs[x % base])
        x //= base
    if sign < 0:
        digits.append('-')
    digits.reverse()
    return ''.join(digits)
def base(num):
    def decorator(func):
        def wrapper(*args):
            return int2base(func(*args), num)
        return wrapper
    return decorator
def my_sum(num1, num2):
    return num1 + num2
# using decorator syntax
@base(2)
def my_sum2(num1, num2):
    return num1 + num2
print(my_sum(1,2))
print(my_sum2(1,2))
# decorating manually
decorator = base(2) # base acts kinda like factory method
my_sum2_manual = decorator(my_sum)
print(my_sum2_manual(1,2))