title: Why Python hasn't true constants? Is it not dangerous?
body: <p>Python 3</p>
  
  <p>I learn Python via a book. Right now I learned that Python hasn't constants in that sense in which they are available in C ++ or C#... For example, it is possible to write such danger code:</p>
  
  <pre><code>&gt;&gt;&gt; import math
  &gt;&gt;&gt; math.pi
  3.141592653589793
  &gt;&gt;&gt; math.pi = 123.456
  &gt;&gt;&gt; math.pi
  123.456
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>Hm... It is an unpleasant surprise for me...</p>
  
  <p>I.e. potentially I am not protected from the fact that any module (which is not mine) which I load into my code, can damage data which shan't change.</p>
  
  <p>Why in Python it is so made? Is it not dangerous?  </p>