Clarification about data types in python
<p>One thing has been fascinating me since long time. In languages like c, we need to declare the data types for example, integer as int, character as char, etc. I mean we are giving information about the data type to the C compiler.<br>
But in python, lets say i declare  </p>

<pre><code>c = 2  
</code></pre>

<p>Then the compiler interprets c as integer. And if i declare  </p>

<pre><code>c = "a"  
</code></pre>

<p>the compiler interprets c as a character. My doubt is how compiler knows how to assign appropriate data type to c without us explicitly declaring it. This may be a basic question for python experts, but shed some light on this</p>
