Python Vs R : The Eternal Question for Data Scientists

Python and R are the two most commonly used languages for Data Science today. They are both fully open source products and completely free to use and modify as required under the GNU public license.

But which one is better? And, more importantly, which one should you learn?
Both are widely used and are standard tools in the hands of every data scientist.