O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Python

Video Description

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

About This Video

  • Explore the immense Python libraries to write efficient, reusable code

  • Create adaptable programs that run on multiple processors with parallel programming

  • Become a Python expert with the help of detailed discussions, illustrated with concrete examples

  • In Detail

    Python is one of the most powerful, flexible, and popular programming languages in the world. Even though Python programs are simple to work with, writing code that is efficient, maintainable, and reusable can be a little tricky for some. The presence of Python's “batteries included” toolbox allows you to easily produce application prototypes or implement new algorithms with minimum efforts.

    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.

    Table of Contents

    1. Chapter 1 : Setting Up the Work Environment
      1. The Course Overview 00:03:42
      2. Downloading and Installing Python 00:03:03
      3. Using the Command Line and the Interactive Shell 00:03:30
      4. Installing Packages with pip 00:02:55
      5. Finding Packages in the Python Package Index 00:03:09
    2. Chapter 2 : Creating a Package
      1. Creating an Empty Package 00:04:10
      2. Adding Modules to the Package 00:04:37
      3. Importing One of the Package's Modules from Another 00:05:02
      4. Adding Data Files to the Package 00:02:33
    3. Chapter 3 : Basic Best Practices
      1. PEP 8 and Writing Readable Code 00:06:20
      2. Using Version Control 00:06:01
      3. Using venv to Create a Stable and Isolated Work Area 00:03:26
      4. Getting the Most Out of docstrings Part 1 – PEP 257 and Sphinx 00:06:24
      5. Getting the Most Out of docstrings Part 2 – doctest 00:02:52
    4. Chpater 4 : Creating a Command-line Utility
      1. Making a Package Executable via python – m 00:04:15
      2. Handling Command-line Arguments with argparse 00:05:21
      3. Text-mode Interactivity 00:03:38
      4. Executing Other Programs 00:05:04
      5. Using Shell Scripts or Batch Files to Launch Programs 00:01:54
    5. Chapter 5 : Parallel Processing
      1. Using concurrent.futures 00:09:57
      2. Using Multiprocessing 00:08:38
    6. Chapter 6 : Coroutines and Asynchronous I/O
      1. Understanding Why Asynchronous I/O Isn't Like Parallel Processing 00:05:51
      2. Using the asyncio Event Loop and Coroutine Scheduler 00:05:26
      3. Futures 00:06:04
      4. Making Asynchronous Tasks Interoperate 00:05:51
      5. Communicating across the Network 00:03:16
    7. Chapter 7 : Metaprogramming
      1. Using Function Decorators 00:05:02
      2. Using Function Annotations 00:04:55
      3. Using Class Decorators 00:04:28
      4. Using Metaclasses 00:04:56
      5. Using Context Managers 00:04:42
      6. Using Context Managers 00:05:37
    8. Chapter 8 : Unit Testing
      1. Understanding the Principles of Unit Testing 00:03:32
      2. Using unittest 00:05:37
      3. Using unittest.mock 00:05:39
      4. Using unittest's Test Discovery 00:03:56
      5. Using Nose for Unified Test Discovery and Reporting 00:03:59