The new.add value you're assigning to k is a function. In Python 2, it would have been a special "unbound method" object, but your output suggests you're using Python 3 (where unbound methods don't exist any more except conceptually).
Like any function, you can call k if you want, passing whatever values are appropriate for self, one and two. For instance, k("foo", 1, 2) (which will return 3).
Traditionally the self argument should be an instance of the new class, though in Python 3 that isn't enforced by anything (a check for this was the purpose of unbound method objects in Python 2). So passing a string in the example above worked fine, since self is not used in the function body for anything. (More complicated methods will usually fail if you pass an inappropriate argument as self.)
The usual way to call methods is to create an instance of a class first, then call the method on the instance. This causes the instance to be passed as the first argument automatically:
x = new()
x.add(1, 2) # returns 3, x got passed as self