My SO is interested in learning Python because she hopes it becomes useful in her work. She works with ArcGIS and/or QGIS and apparently it supports Python scripting so she’s thinking about giving it a go.
She has no programming background so I was hoping you friends could suggest something for absolute beginners that would teach her both the Python and programming basics. It doesn’t have to be very comprehensive, just something to get her started.
She has managed to get some scripts working through copy/pasting and minor adjustments but she lacks the foundations to really build a script of her own.
Thanks a lot!!
Get the basics locked.in before dipping into GIS. There’s a lot of odd patterns and domain specific requirements in the spatial data world, not even mentioning the nasty beast that esri is.
Provided you listen to my above advice, here are some other keywords that will help excite the home-gis dev: geopandas, (pandas), geojson, geopackage, QGIS, leaflet (not python but easy to connect a leaflet frontend with a python backend), openstreermaps, map box, earthexplorer (USGS free aerial imagery of lots of imagery types)
If it must be esri based, arcpy is a popular library.
She already works in GIS and is looking to supplement that work with python. Python is used for more than geojson and web development in ArcGIS Pro. I’ve use it for constructing labels, simple field calculations, symbology, data processing etc. and in general ESRI makes it pretty simple to implement compared to the other terms you’ve listed. All she really needs to get started using Python with ESRI products is the codemonkey python course and googling for some ArcGIS examples, which are pretty abundant.
I’d suggest SICP, but since you said Python:
Automate the Boring Stuff with Python
Free to read on the authors website - https://automatetheboringstuff.com
Looks great, thanks a bunch!
Second the Automate The Boring Stuff recommendation, especially if you’re looking for a physical gift (or free online as mentioned)
Id also just in general recommend CS50-python as a free course for python. Engaging lectures, problem sets you can check your solutions, and you finish with a project of your own choosing. No programming background is needed. Don’t buy a verified certificate, the whole course is free along with a free certificate