title: Transparently assign value to a custom numeric type
body: <p>I'd like to create a custom numeric type. Basically a float whose value gets processed by my custom class after an assignment.
  I have <a href="https://stackoverflow.com/a/1792072/7779260">seen examples</a> that explain how to create the class and read it as a common type (int/float/...).
  Yet there's no example about how to make the value assignment as transparent as for a float variable.</p>
  
  <p>What I have seen so far is something like:</p>
  
  <pre><code>a = MyCustomFloat( 20. )
  print(a) # prints "20"
  </code></pre>
  
  <p>What I am looking for is:</p>
  
  <pre><code>a = MyCustomFloat()
  a = 20. # assign new value ; "a" is still an instance of MyCustomFloat
  print(a) # prints "20"
  </code></pre>
  
  <p>Is this possible at all?</p>
  
  <p>If yes, how?</p>