Simple type checked objects in Python
gist.github.com
gist.github.com
Static, referring to types, means at compile time, or before runtime, the types of variables and assignments can be verified; no invalid assignments are possible.
What you have here is dynamic typing; you can't verify the types until runtime, and then you throw an exception.