<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def callstop(*args, **kwargs):
 """Limits the number of times a function can be called. Can be used as a function decorator or as a function that accepts another function. If used as a function, it returns a new function that will be call limited. **Params**: - func (func) - Function to call. Only available when used as a function. **Examples**: :: call = callstop(myfunc, limit=3) call(myarg1, myarg2) """

    limit = kwargs.get('limit', 1)
    def decor(func):
        def wrapper(*args, **kwargs):
            if wrapper.calls < limit:
                wrapper.calls += 1
                return func(*args, **kwargs)
        wrapper.calls = 0
        return wrapper
    if len(args) > 0 and callable(args[0]):
        func = args[0]
        return decor(func)
    return decor