Design principles for complete noobs?
DRY and YAGNI are good starting points for beginners and you need to study and understand OOP.
Regarding Design Patterns (which are a bit more advanced and abstract than DRY and OOP) you can study from the free Design Patterns - Java Companion. The fact that it's not Python should not bother you - classic design patterns are applicable everywhere.
When you feel like going further have a look at DDD (free DDD book from Eric Evans) and of course Unit Testing which, believe it or not, will improve your code and you as a designer.
Head First Design Patterns might be a gentler intro to the GoF "Design Patterns" book
Steve McConnell's Code Complete is a good guide to many things code, including how to use good strategies in languages that don't natively support them.
Martin Fowler's Refactoring refers heavily to Design Patterns, but is a great catalog of so-so code, and better ways of writing it (I read it about the same time I read "Code Complete", a couple of years [tsk tsk] before reading Design Patterns, and "Refactoring" had a major impact in how I looked at code I wrote. For the better, I like to think).
None of these are "free." But how good of advice do you want? If you're trying to invest in your career, this is the cheapest way to do it.