Python Best Practices: 2-Day Intensive

OVERVIEW

This 2-day on-site training course serves as an intensive introduction to the Python programming language.

Teams learn invaluable best practices that save time and frustration in Python programming while ensuring code is clean, effective and maintainable – no matter the particular project they’re working on.

All exercises and discussions will be adjusted to reflect the problems currently facing your business.

A combination of teaching and hands-on programming exercises gives learners the opportunity to apply, test and refine their knowledge, improving retention and building confidence through real-time feedback.

Who Should Attend?

The course is designed for developers, but is suitable for engineers,
analysts and data scientists with a basic understanding of Python and previous programming experience.

WHAT TEAMS WILL LEARN

By the end of this 2-day intensive, participants will have the necessary skills to: 

  • Understand the strengths and limitations of Python
  • Write efficient, idiomatic Python code
  • Structure, distribute and deploy Python code
  • Write code that is both robust and maintainable at scale
  • Interact across Python and non-Python components

RECOMMENDED BACKGROUND

A basic understanding of Python and programming is required.
For more advanced teams, training will be customised to the current level of understanding.

Each participant must have their own laptop, with a system that supports Python (OS X, Linux, Windows…), to participate in the interactive exercises throughout training.

CLASS SYLLABUS

Please note: This syllabus can be customised to your specific needs, projects or areas of focus.
We are happy to tailor course content and exercises to meet your specific needs.

DAY 1 

  • Course Introduction
    • Administration, setup and course materials
    • Course structure and agenda
    • Participant and trainer introductions
  • Session 1: Python Patterns & Writing Maintainable Code
    • A brief history of Python, its terminology and philosophy
    • When is Python a good choice? Analysis of Python’s strengths & weaknesses
    • Python’s ecosystem, stdlib, OS licences, PEPs, packaging
    • Documentation, logging, variable scoping
    • Advanced features: generators, context managers, decorators, metaclasses
  • Interactive Programming Exercise
  • Session 2: Python Environment & Packaging
    • File structure, modules, packages, versioning
    • Virtual environments, dependency management
    • Version control systems (VCS), git, GitHub, collaborative changes
    • Python Package Index, setup.py, pip, easy_install, conda
  • Interactive Programming Exercise

DAY 2

  • Session 3: Python Testing
    • Doctests, unittest, unittest2, tox, nosetests
    • Fixtures, mock, moto
    • Coverage tests, continuous integration
  • Interactive Programming Exercise
  • Session 4: Integration – The World Outside Python
    • Connecting diverse APIs, DBs, microservices, containers
    • Best practices for HTTP, SQL, microservices, cloud services
    • I/O serialization, persistence: pickle, spreadsheets, SQL
    • Service configuration, monitoring, logging
  • Interactive Programming Exercise
  • Session 5: Putting it All Together
    • Final project
    • Training summary, discussion

INTERESTED IN THIS COURSE?

Contact us today to discuss available dates and how we can customise this training for your team.