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 - Second Edition

Video Description

Unlock the power of Python by learning effective application development strategies

About This Video

  • Covers the latest and advanced concepts of Python such as parallel processing with the all new Python 3.5

  • Explore the Python language from its basic installation and setup to concepts such as reactive programming and microservices

  • Get introduced to the mechanism of rewriting code in a compiled language along with ctypes and Cython tools

  • In Detail

    Python is one of the most powerful, flexible, and popular programming languages in the world. It comes with all new features in version 3.5. With Python, you can write code that is efficient, maintainable, and reusable.

    In this second edition of the course, we cover the basics of operating in a Python development environment as well as the advanced topics. We present you with real-world solutions to Python 3.5 and advanced-level concepts such as reactive programming and microservices, introduce ctypes and Cython tools.

    You don't need to be familiar with the Python language as we start with Python primer and move on to explain what’s new in Python 3.5. You’ll get ready to install, create packages, and run them on the command line. Throughout the journey, we'll highlight the major aspects of managing your Python development environment, show you how to handle parallel computation, and help you to master asynchronous I/O with new Python 3.5 to improve the performance of your system.

    Finally, you'll learn the secrets of metaprogramming and unit testing in Python—arming you with the perfect skillset to be a Python expert. This course will get you up to speed in everything from basic programming practices to high-end tools and techniques, things that will help you set apart as a successful Python programmer.

    Table of Contents

    1. Chapter 1 : Python Primer
      1. The Course Overview 00:03:25
      2. Python Basic Syntax and Block Structure 00:11:54
      3. Built-in Data Structures and Comprehensions 00:08:55
      4. First-Class Functions and Classes 00:05:50
      5. Extensive Standard Library 00:05:56
      6. New in Python 3.5 00:06:02
    2. Chapter 2 : Setting Up
      1. Downloading and Installing Python 00:05:17
      2. Using the Command-Line and the Interactive Shell 00:04:01
      3. Installing Packages with pip 00:03:16
      4. Finding Packages in the Python Package Index 00:04:29
    3. Chapter 3 : Making a Package
      1. Creating an Empty Package 00:05:50
      2. Adding Modules to the Package 00:05:31
      3. Importing One of the Package's Modules from Another 00:05:26
      4. Adding Static Data Files to the Package 00:02:53
    4. Chapter 4 : Basic Best Practices
      1. PEP 8 and Writing Readable Code 00:07:51
      2. Using Version Control 00:04:48
      3. Using venv to Create a Stable and Isolated Work Area 00:04:41
      4. Getting the Most Out of docstrings 1: PEP 257 and docutils 00:08:00
      5. Getting the Most Out of docstrings 2: doctest 00:04:04
    5. Chapter 5 : Making a Command-Line Utility
      1. Making a Package Executable via python -m 00:05:52
      2. Handling Command-Line Arguments with argparse 00:06:22
      3. Interacting with the User 00:04:39
      4. Executing Other Programs with Subprocess 00:09:10
      5. Using Shell Scripts or Batch Files to Run Our Programs 00:03:01
    6. Chapter 6 : Parallel Processing
      1. Using concurrent.futures 00:13:53
      2. Using Multiprocessing 00:11:22
    7. Chapter 7 : Coroutines and Asynchronous I/O
      1. Understanding Why This Isn't Like Parallel Processing 00:08:02
      2. Using the asyncio Event Loop and Coroutine Scheduler 00:06:52
      3. Waiting for Data to Become Available 00:03:30
      4. Synchronizing Multiple Tasks 00:06:18
      5. Communicating Across the Network 00:03:45
    8. Chapter 8 : Metaprogramming
      1. Using Function Decorators 00:06:45
      2. Function Annotations 00:07:09
      3. Class Decorators 00:05:53
      4. Metaclasses 00:05:35
      5. Context Managers 00:05:52
      6. Descriptors 00:05:38
    9. Chapter 9 : Unit Testing
      1. Understanding the Principles of Unit Testing 00:05:07
      2. Using the unittest Package 00:07:28
      3. Using unittest.mock 00:06:12
      4. Using unittest's Test Discovery 00:04:30
      5. Using Nose for Unified Test Discover and Reporting 00:03:42
    10. Chapter 10 : Reactive Programming
      1. What Does Reactive Programming Mean? 00:02:50
      2. Building a Simple Reactive Programming Framework 00:07:22
      3. Using the Reactive Extensions for Python (RxPY) 00:10:22
    11. Chapter 11 : Microservices
      1. Microservices and the Advantages of Process Isolation 00:04:13
      2. Building a High-Level Microservice with Flask 00:09:59
      3. Building a Low-Level Microservice with nameko 00:06:25
    12. Chapter 12 : Extension Modules and Compiled Code
      1. Advantages and Disadvantages of Compiled Code 00:04:42
      2. Accessing a Dynamic Library Using ctypes 00:07:59
      3. Interfacing with C Code Using Cython 00:12:35