判断してくれるのです。代入してみたらどうなるでしょうか。"str")len(s)この場合は代入がコンパイルエラーになります。代入することはできません。でないことが保証されています。原因で実行時エラーになることはありません。安全だと何がうれしいかプログラマはコードを書き、それをコンパイル(または静的解析)し、実行します。実行できるプログラムはテストされ、出荷され、ユーザーが利用します。実行時エラーをテストで検出できなければ、それはそのまま潜在バグとして製品に組み込まれ、出荷されてしまいます。気付くことができます。あるバグの原因の一つだと思います。その問題をコンパイル時に排除できるのは素晴らしいことです。それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。(中略)これは後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ドル相当の苦痛と損害を引き起こしたとみられる。苦しみから解放されようとしているのです。煩わしく、生産性を下げるものに見えるかもしれません。安全性を高めると同時に生産性も高めます。