www.python.org as well as any book published by O'Reilly (check online) These don't relate to ArcGIS but will get you up to speed. Also don't forget the code samples in the help files http://resources.arcgis.com/en/help/main/10.2/index.html
I was just on the Python web site before replying.I see I can download Python for free. It may come in handy for things outside of the ESRI environment. Is ESRI Python use compatible with the most recent release of Python.
It's not the most recent (python is up to 3.x, ArcGIS uses 2.6 or 2.7 depending on your version), but from the bits of gossip I've heard, 2.x will probably be around for a while. Other than installing to a non-standard location, and adding the arcpy site package, I don't think Esri makes any significant changes to the distribution.You used to be able to install python before ArcGIS and then the ArcGIS installer could use the existing python install (still had to be correct version). I haven't run an install in a few versions, so I'm not sure if that's true anymore. I think arcpy requires specific versions of certain modules too, like numpy, so it may not be 100% cut and dry anymore. But all and all Python has been pretty handy. It's kind of like the Swiss Army Knife of languages.
I have ArcGIS 10.2 on my machine. I just looked in the Start menu and it shows Python 2.7 is installed.
from __future__ import division, print_function #, unicode_literals, with_statement
Retrieving data ...