Effective Python LiveLessons

Effective Python LiveLessons

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 5h 39m | 1.43 GB

Effective Python LiveLessons Video Training offers developers insight into the Pythonic way of writing programs, building on the viewer’s fundamental understanding of Python to help him or her write programs more effectively.

Effective Python LiveLessons Video Training is based on the book Effective Python written by Google software engineer Brett Slatkin for the Effective Software Development Series. Each lesson contains a broad but related set of items. Each item is designed to provide concise and specific guidance on what to do and what to avoid when writing programs using Python. Hands-on demonstration helps the viewer understand how to put each item into action.

Each of the video’s six lessons includes items focused on a key topic. The video starts with items focused on how to make more efficient use of expressions and statements before moving on to lessons that teach viewers how to better use comprehensions and generators, functions, and classes. Next, the training teaches viewers how to solve problems associated with concurrency and parallelism. Finally, the focus switches to how to make Python programs more robust. After watching this video, Python programmers will have the knowledge necessary to really master the language and apply the advice, tips, and tricks learned from the video to the Python programs they’re writing, immediately improving the quality of their code.

What You Will Learn

  • Methods for using expressions and statements more efficiently
  • How to make better use of comprehensions and generators
  • How to make better use of functions and classes
  • Methods for working with concurrency and parallelism
  • How to make your programs more robust

Who Should Take This Course

  • Advanced programmers who have a history of programming professionally but are now using Python for a real project.
  • Intermediate programmers who have just learned how to program for the first time using Python and want to gain skills to become more advanced programmers.
  • Non-professional programmers who use Python as part of their jobs. These people have a good working knowledge of Python but are probably missing important fundamentals that would make them more effective.

Lesson 1: Using Expressions and Statements
In the first lesson, you learn how to write programs in the Pythonic style, using methods that will affect every program you write.

Lesson 2: Using Comprehensions and Generators
In Lesson 2, you learn how to use comprehensions and generators to work with and create sequences of values.

Lesson 3: Using Functions
Lesson 3 covers a wide variety of unique capabilities that Python has for writing and calling functions.

Lesson 4: Using Classes
The focus of Lesson 4 is how to put Python’s object-oriented capabilities to good use while at the same time avoiding common pitfalls.

Lesson 5: Working with Concurrency and Parallelism
Lesson 5 provides you with insights into Python’s built-in facilities for writing programs that do many things at the same time.

Lesson 6: Making Programs Robust
In the final lesson, you learn the best techniques for making sure your programs are bulletproof when they run in production.

Table of Contents

01 Effective Python LiveLessons – Introduction
02 Items
03 Item 1 Know how to slice sequences
04 Item 2 Avoid using start, end, and stride in a single slice
05 Item 3 Prefer ENUMERATE over RANGE
06 Item 4 Use ZIP to process iterators in parallel
07 Item 5 Avoid ELSE blocks after FOR and WHILE loops
08 Item 6 Take advantage of each block in TRY_EXCEPT_ELSE_FINALLY
09 Item 7 Consider CONTEXTLIB and with statements for reusable TRY_FINALLY behavior
10 Items
11 Item 8 Use list comprehensions instead of MAP and FILTER
12 Item 9 Avoid more than two expressions in list comprehensions
13 Item 10 Consider generator expressions for large comprehensions
14 Item 11 Consider generators instead of returning lists
15 Item 12 Be defensive when iterating over arguments
16 Items
17 Item 13 Know how closures interact with variable scope
18 Item 14 Accept functions for simple interfaces instead of classes
19 Item 15 Reduce visual noise with variable positional arguments
20 Item 16 Provide optional behavior with keyword arguments
21 Item 17 Enforce clarity with keyword-only arguments
22 Item 18 Use NONE and docstrings to specify dynamic default arguments
23 Items
24 Item 19 Prefer helper classes over bookkeeping with dictionaries and tuples
25 Item 20 Use plain attributes instead of get and set methods
26 Item 21 Prefer public attributes over private ones
27 Item 22 Use @classmethod polymorphism to construct objects generically
28 Items
29 Item 23 Use subprocess to manage child processes
30 Item 24 Use threads for blocking I_O, avoid for parallelism
31 Item 25 Use Lock to prevent data races in threads
32 Item 26 Use Queue to coordinate work between threads
33 Item 27 Consider concurrent.futures for true parallelism
34 Items
35 Item 28 Use virtual environments for isolated and reproducible dependencies
36 Item 29 Test everything with unittest
37 Item 30 Consider interactive debugging with pdb
38 Item 31 Profile before optimizing
39 Item 32 Use tracemalloc to understand memory usage and leaks
40 Effective Python LiveLessons – Summary