I also started my ERPNext journey without really knowing Python. Iād written desktop and server applications in other languages since I was a kid. And like TĆ¼rker, was a proprietary ERP developer for a long time.
I cannot remember how I learned Python. However, Iām a generally a fan of the āHead Firstā book series here. They are normally of good quality, useful for both new programmers, but also people learning Python as a 2nd or 3rd language.
I agree with my peers above. Python has 5 or 10 gotchas. I have an alternating love-hate relationship with the language (it depends on the day!)
I also agree that a great way to learn Frappe-flavored Python = reading what already exists, making small changes, and building on them. Trying to duplicate what someone has already done, then do your own experiements.
Use the global search here on the forums. Thereās a ton of information stored here.
For the longest time (and it still happens) one my biggest challenges wasnāt Python. It was the particular Frappe terminology. Youāll encounter a variety of words and phrases that are used often, but rarely fully explained for a newcomer. Things like hooks, fixtures, Scripts, multitenant, and a bunch more.
āSitesā is not the same thing as āWeb Sitesā. āWeb Pagesā are different from āPagesā. And though both of those might be āpagesā, you could say that parent Documents are āpagesā too.
āCustomizeā is a completely loaded term with special meaning. Itās not-at-all the same thing as āmodifyā or āchangeā or ādevelop.ā
Someday, you will see the words āIs Standardā. When you do, please immediately erase those words from your mind, and substitute with āStored as JSON on Diskā. That will save you some headaches.