On this page
About Python
Python is a general-purpose programming language used in a variety of contexts including data science, machine learning, and web development. Python's versatility, extensive libraries, and relatively straightforward syntax make it a popular choice for researchers.
Why use Python?
Python is free, open-source, and widely used. This means that research using Python is easier to reuse and reproduce than if proprietary software were used. A wealth of free tools and learning resources are available, and Python has thousands of libraries to find functions specific to your needs.
Downloads and installation
Most newer Mac OS machines come with Python pre-installed. Otherwise, you will need to install Python on your computer. For detailed instructions on how to do this, refer to the Python Beginner's Guide.
Text editors
You will also need a text editor for writing and saving Python scripts. The Python wiki provides an extensive list of Text editors, organised by type and operating system.
While you can simply use any plain text editor, you may want one with Python-specific configuration and formatting. Popular multi-platform options include Atom and Vim, both of which are free and open-source.
Alternatively, you could choose to install an integrated development environment (IDE) which consolidates code editing, testing, and debugging into a single tool. They typically have more programming-specific functionality like auto-completion and syntax highlighting, and allow you to see the output of your scripts in the same window that you edit them in. Popular IDEs for Python are PyCharm and Wing, or the more simple IDLE, which is installed automatically when you install Python.
Tutorials and guides
The Python Software Foundation has a beginner's guide geared towards those with no programming experience. It includes lists of textbooks and online courses for getting started with Python.
Coursera offers a number of free introductory Python courses as well as more specific Python courses for intermediate to advanced users.
Stackoverflow is a question and answer platform for coders to learn from each other. You can use the search function to find others who had similar issues or ask a question to get answers from the community.