The `ColorFunction` of a `SphericalPlot3D` has five arguments, the first three being the $x$, $y$ , $z$ coodinates in $\mathbb{R}^3$. The _last two_ are the actual parameterization parameters of the surface. `#` (`Slot`) and `&` (`Function`) together allow to define anonymous function. `#4` and `#5` refer to the fourth and fifth argument. Here is (essentially) equivalent rewrite with `Function` in long form: SphericalPlot3D[1, {θ, 0, π}, {ϕ, 0, 2 π}, ColorFunction -> Function[ {x, y, z, u, v}, ColorData["Rainbow"][Re[SphericalHarmonicY[5, 2, u, v]]] ], ColorFunctionScaling -> False ]