We’re not using it for National 5 at the moment but I’m currently using Python from S4 to S6 for programming. There are a few things that you need to watch out for if you’re considering going down this route which are neatly summarised here
I would also add that Python doesn’t really pass by value or by reference instead it passes by object reference with some objects mutable (their values can be changed) and some objects immutable (their values cannot be changed). This makes it difficult and error prone for students to pass out values from a procedure in the parameter list instead it’s probably better to teach them to create functions and to return values explicitly using the return keyword (both procedures and functions are declared with the def keyword).
As for resources, you might find the following online textbooks for Python 3 useful although for the interactive textbook you’ll need to use a modern browser such as Chrome.
In rough order of complexity for students
Also for short bursts of basic coding practice you should consider using
CodingBat (not with IE). Pupils can sign up for an account which lets them keep track of their progress.