Python is an object-oriented, interpreted, high-level programming language. It is known for being easy to read and learn.
If you are new to Python or programming in general there are lots of resources online to catering to all experience levels. Once you have the basics, a simple Skill can be a great way to try them out in a real project.
Mycroft uses Python 3 and as of December 2019 supports Python 3.5-3.7.
The following are a collection of resources recommended by members of our Community. If you know of other great resources please let us know in the Dev channel of Mycroft Chat.
Video Tutorial: Python Virtual Environments
Video Tutorial: Python Package Management
"Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters."
The book is available to purchase through normal retailers, or to download for free from Green Tea Press
"In Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation."
This video tutorial will give you a full introduction into all of the core concepts in python. The entire video runs for almost 4 and a half hours so better grab a coffee before you get started!
The LearnPython.org interactive tutorial walks you through all the basics of Python and provides interactive coding challenges to put it into practice.
A comprehensive written tutorial from TutorialsPoint.com covering both the basics and more advanced topics.
Books and courses are great to get started but once you have the basics you often just need good documentation to point you in the right direction. The official Python documentation can be found at: https://docs.python.org/3/