Example 20 (2002 Beijing College Entrance Examination for Science) Given that $f(x)$ is a non-zero function defined on $\mathbf{R}$, and for any $a, b \in \mathbf{R}$, it satisfies $f(a b)=a f(b)+b f(a)$.
(1) Find the values of $f(0)$ and $f(1)$;
(2) Determine the odd or even nature of $f(x)$, and prove your conclusion;
(3) Given $f(2)=2, U_{n}=\frac{f\left(2^{-n}\right)}{n}\left(n \in \mathbf{N}^{*}\right)$, find the sum of the first $n$ terms $S_{n}$ of the sequence $\left\{U_{n}\right\}$.
(1) Let $a=b=0$, substituting into the condition yields $f(0)=0 \cdot f(0)+0 \cdot f(0)=0$.
Let $a=b=1$, substituting yields $f(1)=1 \cdot f(1)+1 \cdot f(1)$, then $f(1)=0$.
(2) From $f(1)=f\left[(-1)^{2}\right]=-f(-1)-f(-1)=0$, we get $f(-1)=0$.
Let $a=-1, b=x$, then $f(-x)=f(-1 \cdot x)=-f(x)+x \cdot f(-1)=-f(x)$, thus $f(x)$ is an odd function.
(3) When $a b \neq 0$, $\frac{f(a b)}{a b}=\frac{f(a)}{a}+\frac{f(b)}{b}$.

Let $g(x)=\frac{f(x)}{x}$, then $g(a b)=g(a)+g(b)$.
Thus $g\left(a^{n}\right)=n \cdot g(a), f\left(a^{n}\right)=a^{n} \cdot g\left(a^{n}\right)=n a^{n} \cdot g(a)=n \cdot a^{n-1} \cdot f(a)$,
hence $U_{n}=\frac{f\left(2^{-n}\right)}{n}=\left(\frac{1}{2}\right)^{n-1} \cdot f\left(\frac{1}{2}\right)$.
And $f(2)=2, f(1)=f\left(2 \cdot \frac{1}{2}\right)=2 f\left(\frac{1}{2}\right)+\frac{1}{2} f(2)=0$,
then $f\left(\frac{1}{2}\right)=-\frac{1}{4} f(2)=-\frac{1}{2}$, so $U_{n}=-\frac{1}{2} \cdot\left(\frac{1}{2}\right)^{n-1}=-\left(\frac{1}{2}\right)^{n}$,
thus $S_{n}=\frac{-\frac{1}{2}\left[1-\left(\frac{1}{2}\right)^{n}\right]}{1-\frac{1}{2}}=\left(\frac{1}{2}\right)^{n}-1\left(n \in \mathbf{N}^{*}\right)$.