Someone wanted to learn this too, so Grasp built them a personal learning path.
You can keep exploring this one or create your own
Learn Python
Module 1
Python Setup and First GIS-Flavoured Scripts
Module 2
Collections, Decisions, Loops, and Functions
Module 3
Files, Tables, JSON, and Open Data
Module 4
Reusable and Reliable Python Programs
Module 5
Vector Data with GeoPandas and Shapely
Module 6
Robust Vector Analysis Pipelines
Module 7
Raster Processing with NumPy and Rasterio
Module 8
Automating QGIS with PyQGIS
Module 9
QGIS Processing Tools and Plugin Foundations
Module 10
Python Backends for Web GIS
Module 11