I want to learn Python but not sure where really start !
There are online courses... but I am sure you have done a google search for those ... everyone will have an opinion as to what is the best. Try free stuff and see what works for you
There are the actual docs
I keep a resource list, a lot beyond the intro level, but there are cheat sheets and a number of other references suited to all levels The ...py... links
Books? lots... just about anything by Python - Programming - Books & Videos - O'Reilly Media Again, there are others, see what suits your needs.
As it relates to arcgis and associated stuff, that would be the next step Esri Press| GIS Books & Tutorials - Buy Books Online
And don't forget GeoNet Python python snippets are two spaces/place here
You will learn by doing... period
I can't emphasize Dan's last point enough, i.e., you will learn by doing. Additionally, you will learn by taking the time to understand other's suggestions to people's questions in forums like GeoNet. Don't just copy and paste, learn how and why something does or doesn't work. Books or videos can be useful learning aides, but whatever one can absorb from them is quickly lost if not applied immediately and frequently.
I agree with both Dan and Joshua...just dig in and start trying..and looking at sample code of what others have written (Dan's blogs are a good place to start too) but remember everyone has a style, and there is more than one good style. Keep an open mind until you find what makes sense to you, but as you get more familiar, you may find a different pattern you like. my opinion (and my experience).
Don't feel intimidated by it, Python works great with ArcGIS. If you've run some commands in ArcMap/Catalog, you can always open the Results tab, right-click on the successfully results and "copy python snippet".
Having a good development environment (many free) is also helpful. You still need to learn what you are doing, but many will let you know when you have syntax errors, give hints, and help debug. I personally use Wing Pro (Python IDE for Python Developers - Wingware Python IDE and there is a free version Wing101 I believe), but there are many others. For more opinions of what others are using What is the IDE of your choice for developing in Python?
To add a few more links from Geonet with a few options for books, etc.
Introduction to Writing Geoprocessing Scripts with Python 10.2/10.3 Class Resources
Learning Python for beginner ?
If/when you have a question you what to ask to help with your python, make sure you use the
... More ... Syntax Highlighter ->python
option in the Geonet menu so your code is formatted correctly. Spacing is extremely important in Python, and it is hard for others to help if the code is not formatted correctly. Also, alwasy include the version of the ArcGIS software you are using, since Desktop and Pro use a different version. This is a little a head of the game for learning, but never hurts to keep it in mind for the future.
Good luck, and have fun with Python.
I agree with what everyone has said. Just to add my two cents, for using Python directly with ArcGIS, I have really enjoyed this book:
Esri Press| Python Scripting for ArcGIS |
Excellent comments already so I don't have a lot to add - Esri offers training courses. Many schools have subscriptions to training if you are a student, so check to see if you can attend for free. https://www.esri.com/training/catalog/search/ and search for Python courses, there are several and since they focus on ArcGIS you'll learn more about how to use ArcPy which is something general training won't cover.
There are also interactive tutorials on websites such as Learn Python - Free Interactive Python Tutorial or Python | Codecademy which can be more effective than a textbook for some learning styles.
And again +1 to 'Learn by Doing' .. Even though it's named Python, it doesn't bite Just start typing.
Found this to be a good starting point --- since I did not have python installed when I was learning....
Learn Python - Free Interactive Python Tutorial
One of the best I have found is Learning Python the Hard Way.
Learn Python the Hard Way
It starts at beginner and works you up through the ranks with exercises and demos.
Retrieving data ...