• No products in the cart.

Get to grips with Python best practices and advanced tools to design, distribute, and test your programs.

Course Description

This course takes you on a journey from the basics of operating in a Python development environment through to advanced topics and master-level techniques. It presents you with a guide to Python and its standard library, focusing on language and library elements that are particularly useful for tool authors and system programmers.
We start off with the basics to set up a functioning environment, creating packages, and running them on the command line. Through our journey, we’ll highlight the major aspects of managing our Python development environment, handling parallel computation, and mastering asynchronous I/O for improved performance of our system. Finally, we’ll learn the secrets of metaprogramming and unit testing in Python arming you with the perfect skillset to be a Python expert.
Mastering Python will get you up to speed in everything from basic programming practices to high-end tools and techniques that will help you set apart as a successful Python programmer.

Learning Outcomes

  • Build Python packages to efficiently create reusable code
  • Become proficient at creating tools and utility programs in Python
  • Use the Git version control system to protect your development environment from unwanted changes
  • Harness the power of Python to automate other software
  • Distribute computation tasks across multiple processors
  • Handle high I/O loads with asynchronous I/O for smoother performance
  • Take advantage of Python’s metaprogramming and programmable syntax features
  • Get to grips with unit testing to write better code, faster


This course is a step-by-step tutorial with each section covering a distinct topic enhanced with discussions and examples; the topics have a wide variety ranging from the basics and fundamentals of Python to advanced power skills.

Who is this course intended for?

If you are a programmer who is familiar with the basics of Python and you want to broaden your knowledge base to develop projects better and faster, this course is for you. Learn the best practices and advanced techniques in Python to produce useful code with ease, just like an expert!

Your Instructor

Packt Publishing

Packt has been committed to developer learning since 2004. A lot has changed in software since then – but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content – more than 4000 books and video courses -Packt’s mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages to cutting-edge data analytics, and DevOps, Packt takes software professionals in every field to what’s important to them now.

From skills that will help you to develop and future-proof your career to immediate solutions to everyday tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Course Curriculum

Setting Up the Work Environment
The Course Overview 00:00:00
Downloading and Installing Python 00:00:00
Using the Command Line and the Interactive Shell 00:00:00
Installing Packages with pip 00:00:00
Finding Packages in the Python Package Index 00:00:00
Creating a Package
Creating an Empty Package 00:00:00
Adding Modules to the Package 00:00:00
Importing One of the Package’s Modules from Another 00:00:00
Adding Data Files to the Package 00:00:00
Basic Best Practices
PEP 8 and Writing Readable Code 00:00:00
Using Version Control 00:00:00
Using venv to Create a Stable and Isolated Work Area 00:00:00
Getting the Most Out of docstrings Part 1 – PEP 257 and Sphinx 00:00:00
Getting the Most Out of docstrings Part 2 – doctest 00:00:00
Creating a Command-line Utility
Making a Package Executable via python – m 00:00:00
Handling Command-line Arguments with argparse 00:00:00
Text-mode Interactivity 00:00:00
Executing Other Programs 00:00:00
Using Shell Scripts or Batch Files to Launch Programs 00:00:00
Parallel Processing
Using concurrent.futures 00:00:00
Using Multiprocessing 00:00:00
Coroutines and Asynchronous I/O
Understanding Why Asynchronous I/O Isn’t Like Parallel Processing 00:00:00
Using the asyncio Event Loop and Coroutine Scheduler 00:00:00
Futures 00:00:00
Making Asynchronous Tasks Interoperate 00:00:00
Communicating across the Network 00:00:00
Using Function Decorators 00:00:00
Using Function Annotations 00:00:00
Using Class Decorators 00:00:00
Using Metaclasses 00:00:00
Using Context Managers 00:00:00
Using Descriptors 00:00:00
Unit Testing
Understanding the Principles of Unit Testing 00:00:00
Using unittest 00:00:00
Using unittest.mock 00:00:00
Using unittest’s Test Discovery 00:00:00
Using Nose for Unified Test Discovery and Reporting 00:00:00

Course Reviews


  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.

  • $99.00 $10.00
  • Course Certificate

    Related Courses

    © Learnsector