code: def diff(self, n=1):
      
      d = self._data
      for unused in xrange(n):
        d = OrderedDict((k - 1, k * v) for k, v in iteritems(d) if k != 0)
      return Poly(d, zero=self.zero)
docs: Differentiate (n-th derivative, where the default n is 1).