@shibaprasad I wouldn't say im a master at python, but I use it and I'm a good programmer in general...
As for how I learn it.. well there are two parts to learn for programming to me:
1) The theory - this part is completely disconnected from a language, you can, and often should, do this in psuedocode when working with it in its pure form
2) The language / platform technicals - This is stuff like syntax, and what posix means or how some bytecode is defined or whatever. This is the concrete part
They are both equally as vital, #1 is usually neglected among many programmers in my opinion and it really hurts their abilities when this is the case.
As for how I learned, well #1 was mostly from books and then later peer-reviewed studies coupled with any internet resources I could find (a lot of IRC chat rooms too).
#2 is usually from example code snippets and API documentation and, depending ont he quality of those two, perhaps a lot of trial and error. But this half is less using books, for me, and more just digging in and coding and just reading the technical documentation as you do.