Video description
Take your Python skills to the next level. Learn how expert programmers work with code and the techniques they use.
About This Video
- Take your Python skill to the next level
- Master cross-cutting tools (logging and testing)
- Use asynchronous programming (asyncio)
- Plot data
- Modular Regular Expressions
In Detail
So you have taken an initial programming course or have learned the basics on your own. However, when you look at other people's code, or listen to their discussions, you see many concepts that seem alien and that you don't understand. So, the question is: How do you go from a novice programmer to an expert? How do you become a professional?
This course answers this question. In it, we will build on top of your existing basic understanding of the Python language (and programming in general). We will cover concepts that will take you to the next level of programming expertise. These will include language constructs that are typically not covered in a beginner-level course—concepts such as generators, decorators, callbacks, higher-order functions, context managers, and more.
We will also discuss some tools that are not difficult but are essential to the life of a professional programmer. An example of this is logging for tracking down bugs, a simple technique that is used in all production-level software but is never touched upon in typical programming courses. We will discuss parallel programming, multi-threading, and synchronization issues—another important concept you must understand to code in a production environment. We discuss these through a case study to explain WHY you need them as well as HOW to use them.
Closely related to this, a highly important concept in today's programming practice is the idea of asynchronous programming, more commonly known as asyncio. Python and JavaScript, two of the most influential languages in today's development, are heavily focused on this new paradigm and we will cover this in a very intuitive, easy-to-understand manner.
All the code files are placed at https://github.com/PacktPublishing/Beyond-Basic-Programming---Intermediate-Python
Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.
Table of Contents
Chapter 1 : Introduction
Welcome And Introduction
00:02:32
Environment Setup and Jupyter Notebook
00:04:39
Chapter 2 : Cross-cutting Tools
Logging (and how to debug code in realtime)
00:10:43
Testing and Test Driven Development (TDD)
00:04:51
Testing Examples
00:10:05
Chapter 3 : Intermediate Programming Concepts
List Mutability and Deep Copying
00:13:15
Generators and Memory Efficiency
00:10:13
Generators Case Study
00:08:01
Higher-Order Functions
00:07:55
Callbacks
00:07:06
Chapter 4 : Time Saving Features
Decorators
00:10:19
Decorator Case Study - Memoize
00:06:22
Context Managers
00:04:41
More on Context Managers
00:03:54
Chapter 5 : Parallel and Asynchronous Programming
Multithreading - Multiple Tasks Simultaneously
00:09:07
Synchronization Issues and Locks
00:12:11
Asynchronous Programming (Asyncio, Async/Await)
00:12:24
Chapter 6 : Functional Programming
Basics of Functional Programming, Map
00:06:10
Filter and Reduce, Rationale for Functional Programming
00:13:09
Chapter 7 : Applications
Plotting Intro
00:07:34
Plotting Case Study
00:04:13
Pattern Matching with Regular Expressions
00:08:27
Modular RegExp (and How Not to Have Headaches with RegExp)
00:08:03
Extracting Matched Strings with RegExp
00:03:24