Esta respuesta se basa en un bonito principio esbozado en un post de @Riemann'sPointyNose que ha sido borrado por una laguna argumental, que creo que se cierra en lo siguiente.
La idea es asignar a cualquier función $f: \mathbb{N}\to\mathbb{N}$ un número real de tal manera que cada $f\in P$ se asigna a un número racional.
Por ejemplo $f(1) = 245$ , $f(2) = 123$ , $f(3) = 10$ , $f(4) = 4$ , $f(5) = 4$ , ...
Luego concatena las representaciones decimales para obtener una cadena infinita $$\color{red}{2451231044\ldots}$$ Sin embargo, no podemos reconstruir de forma única la función $f$ de esta cadena porque no sabemos dónde están los límites de los números. Para solucionarlo, la intercalamos con otra secuencia formada por 0's y 1's, donde ponemos un 1 cada vez que "empieza un nuevo número". Es decir: $$\color{red}{2}\color{blue}{0}\color{red}{4}\color{blue}{0}\color{red}{5}\color{blue}{1}\color{red}{1}\color{blue}{0}\color{red}{2}\color{blue}{0}\color{red}{3}\color{blue}{1}\color{red}{1}\color{blue}{0}\color{red}{0}\color{blue}{1}\color{red}{4}\color{blue}{1}\color{red}{4}\color{blue}{1}\ldots$$ Esto nos permite reconstruir de forma única la función $f$ .
Ahora bien, tenga en cuenta que si $f$ se hace constante eventualmente, la cadena resultante será periódica eventualmente. Por lo tanto, si la consideramos como una expansión decimal de un número en $[0,1]$ el número será racional.
Dado que cada función en $P$ se vuelve constante eventualmente, esto nos da una inyectiva cartografía $$P \to \mathbb{Q}$$ y $P$ debe ser, por tanto, contable.