In the following, `setattr` succeeds in the first invocation, but fails in the second, with:

```
AttributeError: 'method' object has no attribute 'i'

```

Why is this, and is there a way of setting an attribute on a method such that it will only exist on one instance, not for each instance of the class?

```
class c:

    def m(self):

        print(type(c.m))
        setattr(c.m, 'i', 0)

        print(type(self.m))
        setattr(self.m, 'i', 0)

```

*Python 3.2.2*