Python is an easy to learn free programming language that has a focus on readability and unlike languages like c++ it enables people to quickly develop applications, making it a brilliant language to use when you just need to throw together a short script to accomplish a task. But this comes at a cost because due to the fact it is an interpreted language and not compiled it does have reduced speed due to it being compiled at the time it is being run. With that being said it is becoming less of an issue with computers becoming more powerful and this will not be an issue in most cases. Another handy feature of Python is that it can be embedded in c/c++ applications or c/c++ can be used to extend Python giving you more options for what you can do with it.
At the moment there are two main versions of Python that you may come across these are Python 2 and Python 3 which breaks backwards compatibility with previous versions of Python (Python 2 vs 3 / whats new in Python 3), this is something you should keep in mind when looking at resources on the internet as some code may need to be translated into your version of Python for it to run. Over time Python 2 will be phased out but there is still a lot of software available that uses it and has not been migrated to Python 3 yet.
If you are just starting to learn Python I recommend you start with Python 3 as that is what is going to be used in future. If you have experience with Python 2 and have not looked a Python 3 now would be a good time to start.
To download Python follow the link bellow. On Linux look in your package manager (Python download).
I have tried both these sites and while they don’t give you a good understanding of how to apply the language to create an application but they do give you good understanding of how the basics work. These sites are both interactive tutorials which require you to do exercises on the website to continue. If you don’t like these two websites there are others out there and more popping up all the time or if you prefer a book there are too many to list here but I recommend the ones by the publisher O’Reilly who publish a lot of good programming books. If you want to learn a new programming language or improve your skills in a language you should write code which makes these sites good practice.
The official python website which contains lots of valuable information that can help as you learn and improve your programming skills. I would recommend that you take a look at the documentation which will be useful when trying to accomplish the more complex tasks.
While using these sites is useful to get started Python is capable of a lot and the best way to improve your skills is to practice. This is best done by creating your own small projects and you have no shortage of options with Python you can make basic command-line application, web application, games, application with a graphical user interface or you can add a Python script to some existing applications. If you feel really adventurous you could even get a Raspberry pi and create you own gadgets.
Good luck and happy coding