This lesson is in the early stages of development (Alpha version)

Intermediate Python

This lesson is designed to guide researchers, already familiar with the basics of Python, through the next steps required to use the langauge most effectively.

After following the course, learners will be able to:


To follow this lesson, you should already be able to complete the following tasks with Python: define a variable; convert values between types e.g. integer, float, and string; compare values and write if/elif/else conditions; write a function definition; import a module; add items to and access values from a list or dictionary; save and run your programs as scripts in the shell.

All of the concepts mentioned above are taught in the introductory Python course material offered by EMBL Bio-IT and Software Carpentry.

In addition, you will need to follow the setup instructions before you begin working through this material.

The commands in this lesson pertain to Python 3.

Getting Started

To get started, follow the directions on the “Setup” page to download data and install a Python interpreter.



Setup Download files required for the lesson
00:00 1. Syntax Elements & Powerful Functions What elements of Python syntax might I see in other people’s code?
How can I use these additional features of Python to make my code more succinct and easier to read?
What built-in functions and standard library modules are recommended to improve my code?
01:40 2. Working with Data How should I work with numeric data in Python?
What’s the recommended way to handle and analyse tabular data?
How can I import tabular data for analysis in Python and export the results?
02:10 3. Data Visualization How can I create publication-ready figures with Python?
02:10 4. Parsing Command Line Arguments How can I access arguments passed to my Python script at runtime?
How can I create a sophisticated command line interface for my script?
How can I provide the user with more information about how to run my code?
02:40 5. Coding Style How should I organise my code?
What are some practical steps I can take to improve the quality and readability of my scripts?
What tools exist to help me follow good coding style?
03:10 6. Coding Challenges How can I practice the new skills I’ve learned?
03:40 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.