Typo, 2nd sentence: It's as if Python is designed so that you only need to press the keys that you absolutely must.
I'd rephrase this. Python's syntax is designed to minimize
punctuation and syntax. Many Python enthusiasts refer to
it as "executable psuedo-code" and a T-shirt at a recent
Python conference display a large (disembodied) smile with
the caption: "Live is better without braces."
Again, this lack of type declarations is more fundamental
than merely eschewing extra verbiage. Python is late
binding so that variables DON'T HAVE TYPES. They bind
to objects and it is the objects that have types.
Is this feature refered to as 'weak typing'?
It's strong typing, but not static typing like you have in compiled languages. The word you're looking for is "dynamic".
It might be worth noting that those brain cycles that used to be devoted to syntactic verbiage may come to be devoted to determining what type this or that variable is, since its not so clearly spelled out - functions return what ever type they like.
This (minimal key strokes) is not quite true for classes, where the extra typing of "self" takes a lot of room. Try to count the word "self" in the source code of our classes; I guess there will be a lot.