Advanced Python

This course will go beyond everyday Python to the techniques needed by experienced programmers and by library and framework developers.
Course info
Rating
(44)
Level
Advanced
Updated
Jun 24, 2017
Duration
3h 53m
Table of contents
Course Overview
Advanced Flow Control
Byte-oriented Programming
Object Internals and Custom Attributes
Descriptors
Instance Creation
Metaclasses
Class Decorators
Abstract Base Classes
Description
Course info
Rating
(44)
Level
Advanced
Updated
Jun 24, 2017
Duration
3h 53m
Description

Over time, Python has exploded in popularity, from being an obscure scripting language to becoming one of the most popular, and widely used languages in the world. In this course, Advanced Python, you'll learn advanced topics, a knowledge of which will set you apart from the greater number of Python developers. First, you'll explore how to gain fine-grained control over attribute access. Next, you'll discover how to intercept class-object construction. Finally, you'll learn the subtle, but powerful, controls Python gives you over class relationships. By the end of this course, you'll know enough Python to understand the advanced techniques used to implement sophisticated frameworks and much more.

About the author
About the author

Robert Smallshire is a founding director of Sixty North, a software product and consulting business in based in Norway. He has held several senior software architecture and technical management roles, and he is a regular conference speaker. Python is his weapon of choice.

More from the author
Python – Beyond the Basics
Intermediate
7h 22m
18 Jul 2014
Python Fundamentals
Intermediate
5h 11m
21 Aug 2013
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Robert Smallshire. Welcome to our course, Advanced Python. I'm a principle consultant at Sixty North, and out of the dozen or so programming languages I can choose to use, Python is the one I return to again and again to produce low friction solutions quickly and efficiently. I've been working regularly with Python since the turn of the millennium, using it to solve problems across a wide range of business, scientific, and engineering sectors ranging from simulating geological processes in planet Earth through to monitoring and controlling electricity consumption in industrial plants over the web. Over that time Python has exploded in popularity from being an obscure scripting language to becoming one of the most popular and widely used language in the world. The growing demand for Python skills reflects it's broad adoption in the diverse realms of web development, data science, cloud operations, and as an embedded scripting language in professional applications. This course is the culmination of our series on the core Python language. We'll cover advanced topics, a knowledge of which will set you apart from the greater number of Python developers. Topics, such as descriptors, we'll learn how to gain fine grain control over attribute access, metaclasses, where you'll see how to intercept class object construction, and virtual subclasses, where you'll discover the subtle but powerful controls Python gives you over class relationships. By the end of this course you'll know enough Python to understand the advanced techniques used to implement sophisticated frameworks, like SQLAlchemy or Django, and be able to bring those capabilities to bear in your own solutions. Before beginning this course you should be familiar with the material we cover in our Python Fundamentals and Python Beyond the Basics courses here on Pluralsight. I hope you'll join me on this journey to expand your core Python 3 language skills with the advanced Python course at Pluralsight.

Byte-oriented Programming
Hello. My name is Robert Smallshire. Welcome to the second module of the Advanced Python course. In this module we'll be going low level to look at byte-oriented programming in Python. At the bottom everything is bits and bytes and sometimes it's necessary to work at this level, particularly when you're dealing with binary or non-text data from other sources. Remember that in Python 3, although not in Python 2, there is a very clear separation between texts, which is stored in the Unicode capable str type and raw bytes, which are stored in the aptly named bytes type. Specifically in this module, we are going to review the bitwise operators, look at the binary representation of integers, fill in some additional details about the bytes type, introduce the bytearray type, look at packing and unpacking binary data with the struct module from the Python standard library, look at memoryview objects, and show how to use memory-mapped files.

Object Internals and Custom Attributes
Hello. My name is Robert Smallshire. Welcome to the third module of the Advanced Python course. In this module we'll provide details of how objects are represented internally in Python as a dictionary called dunder dict, and show how objects can be directly queried and manipulated through this internal dictionary. We'll then use this knowledge to show how to implement custom attribute access by overriding the special dunder getattr, dunder getattribute, dunder setattr, and dunder delattr methods. We'll round off by seeing how to make objects more memory efficient by defining dunder slots.