title: Is Python type safe?
body: <p>According to <a href="https://en.wikipedia.org/wiki/Type_system#Type_safety_and_memory_safety" rel="noreferrer">Wikipedia</a></p>
  
  <blockquote>
    <p>Computer scientists consider a language "type-safe" if it does not allow operations or conversions that violate the rules of the type system.</p>
  </blockquote>
  
  <p>Since Python runtime checks ensure that type system rules are satisfied, we should consider Python a type safe language. </p>
  
  <p>The same point is made by Jason Orendorff and Jim Blandy in <a href="https://www.safaribooksonline.com/library/view/programming-rust/9781491927274/" rel="noreferrer">Programming Rust</a>:</p>
  
  <blockquote>
    <p>Note that being type safe is independent of whether a language checks types at compile time or at run time: C checks at compile time, and is not type safe; Python checks at runtime, and is type safe.</p>
  </blockquote>
  
  <p>Both separate notion of static type checking and type safety.</p>
  
  <p>Is that correct?</p>