A lot of developers want to go to 3.11 because of the speed improvements, but most distros never have the latest Python version.
Using the deadsnakes third party repo is the easiest way aside from compiling it yourself (which is safer and recommended):
Step 1 - Add the repo
apt-add-repository ppa:deadsnakes/ppa
If you get an error about requests then install it:........
Still looking for the solution
Working Solution 2017/07
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D46F45428842CE5E
Solution
gpg --keyserver hkp://subkeys.pgp.net --recv-keys D46F45428842CE5E
gpg: requesting key 8842CE5E from hkp server subkeys.pgp.net
gpg: keyserver timed out
gpg: keyserver........