  It is well known that a Lipschitz function on the real line does not have to
be operator Lipschitz. We show that the situation changes dramatically if we
pass to H\"older classes. Namely, we prove that if $f$ belongs to the H\"older
class $\L_\a(\R)$ with $0<\a<1$, then $\|f(A)-f(B)\|\le\const\|A-B\|^\a$ for
arbitrary self-adjoint operators $A$ and $B$. We prove a similar result for
functions $f$ in the Zygmund class $\L_1(\R)$: for arbitrary self-adjoint
operators $A$ and $K$ we have $\|f(A-K)-2f(A)+f(A+K)\|\le\const\|K\|$. We also
obtain analogs of this result for all H\"older--Zygmund classes $\L_\a(\R)$,
$\a>0$. Then we find a sharp estimate for $\|f(A)-f(B)\|$ for functions $f$ of
class $\L_\o\df\{f: \o_f(\d)\le\const\o(\d)\}$ for an arbitrary modulus of
continuity $\o$. In particular, we study moduly of continuity, for which
$\|f(A)-f(B)\|\le\const\o(\|A-B\|)$ for self-adjoint $A$ and $B$, and for an
arbitrary function $f$ in $\L_\o$. We obtain similar estimates for commutators
$f(A)Q-Qf(A)$ and quasicommutators $f(A)Q-Qf(B)$. Finally, we estimate the
norms of finite differences $\sum\limits_{j=0}^m(-1)^{m-j}(m j)f\big(A+jK\big)$
for $f$ in the class $\L_{\o,m}$ that is defined in terms of finite differences
and a modulus continuity $\o$ of order $m$. We also obtaine similar results for
unitary operators and for contractions.
