Python is the preferred choice of developers, engineers, data scientists, and hobbyists everywhere. It is a great scripting language that can power your applications and provide great speed, safety, and scalability. By exposing Python as a series of simple recipes, you can gain insight into specific language features in a particular context. Having a tangible context helps make the language or standard library features easier to understand. This video comes with over 100 recipes on the latest version of Python.
The videos will touch on all the necessary Python concepts related to data structures, OOP, functional programming, as well as statistical programming. You will get acquainted with the nuances of Python syntax and how to effectively use the advantages that it offers.
You will be armed with the knowledge of creating applications with flexible logging, powerful configuration, and command-line options, automated unit tests, and good documentation.You will end the book equipped with the knowledge of testing, web services, and configuration and application integration tips and tricks.
About the Authors
Steven F. Lott has been programming since the 70s, when computers were large, expensive, and rare. As a contract software developer and architect, he has worked on hundreds of projects, from very small to very large. He's been using Python to solve business problems for over 10 years.
He’s currently leveraging Python to implement microservices and ETL pipelines. His other titles with Packt Publishing include Python Essentials, Mastering Object-Oriented Python, Functional Python Programming, and Python for Secret Agents.
Steven is currently a technomad who lives in various places on the east coast of the U.S.
The unifying concept behind a class definition is often captured as a summary of theresponsibilities allocated to the class. How can we do this effectively? What's a good way todesign a class? Let’s get the answers to these questions through this video.
How can we design a class that makes use of Python's array of sophisticated built-in collections? Let’s see it.
How can we create a class that allows us to use the object.attribute syntax instead ofobject['attribute']? This video will answer this question.
How can we create optimized classes with a fixed set of attributes? This video will show you how to do this.
Python has a wide variety of built-in collections.When we fold in the standard library, we have more choices, and more decisions to make.How can we choose the right data structure for our problem? Let’s explore this.
Now, since you know to distinguishbetween a complex algorithm and a collection and how to encapsulate thealgorithm and the data into separate classes, the alternative design strategy is to extend the collection to incorporate a useful algorithm.How can we extend Python's built-in collections? Let’s do it right now!
What if we have values that are used rarely, and are very expensive to compute? What canwe do to minimize the up-front computation, and only compute values when they are trulyneeded? Let's look into it.
What can we do if we want to use attribute-like syntax for setting a value, but we also wantto perform eager calculations? And how can we eagerly compute values from attribute changes? Let’s get the answer to these questions through this video.
This video will let you distinguish between the semantic issues and apply the best possible technique while establishing connection between two classes.
This video will show you how to handle all the variations in card game rules.
Python doesn't have a formal mechanism for abstract superclasses. It relies on duck typing to locate methods within a class. Let’s see how we canleverage this duck typing in Python.
This video will let you work with implicit global objects and manage the operation through them.
This video will teach you how to transform a flat list of details into a structure that for one column contains valuestaken from other columns.
When simulating card games, it's often essential to be able to sort the Card objects into adefined order. Most of our class definitions requires sorting objectsinto order.How do we create comparable objects?Let’s obtain the answer to this question.
How can we build a sorted collection of objects? How can we build a multiset or bag usinga sorted collection?Let’s answer these questions.
Removing items from a list has an interesting consequence.How can we delete multiple items from a list?Let’s see this.
Is there some way to disentangle the collection structure from the processing function? Canwe yield results from processing as soon as each individual item is available? This video will provide you with an answer to these questions.
How can we stack or combine multiple generator functions to create a composite function? Let’s look into this.
This video will show you, how you could simplify the generator functions and generator expressions which have the similar boilerplate code.
This video will teach you the different ways to filter and pick items from a subset.
Can we generalize summation in a way that allows us to write a number of different kindsof reductions? How can we define the concept of reduction in a more general way? Let’s get the answers to these questions through this video.
This video will teach you the design considerations when workingwith multiple kinds of generator functions in conjunction with map, filter, and reduce. You will learn to cache intermediate results so that we can perform multiple reductions on the data.
How can we write a process using generator functions that stops when the first valuematches some predicate? How do we avoid for all and quantify our logic with there exists? Let’s do it, with this video.
Let’s see how we can define a function that has some parameters provided in advance.
A great deal of the emphasis ofobject-oriented design is creating methods that mutate an object's state. Let’s see how we can use immutable data structures.
In many cases, there are advantages to using generators for processing these kinds ofstructures. How can we write generators that work with recursion? How does the yieldfrom statement save us from writing an extra loop? Let’s explore these questions.
How can we work with pathnames in a way that's independent of aspecific operatingsystem? How can we simplify common operations to make them as uniform as possible? This video is an answer to these questions.
Let’s see how we can be sure that resources are acquired and released properly and how we can avoid avoidresource leaks.
Clearly, we can make backup copies of files. This introduces an extra processing step. Wecan do better. What's a good approach to createfiles that are fail-safe? Let’s see this!
How can we process data in one of the wide varieties of CSV formatting? Let’s learn to do it, right now!
This video will show you how you can process this kind of data with the elegant simplicity of a CSV file and transform these irregular rows to a more regular data structure.
How do we use the json module to parse JSON data in Python? Let’s look into this.
How do we use the xml.etree module to parse XML data in Python? Let’s explore this questions.
A great deal of content on the Web is presented using HTML markup. A browser rendersthe data very nicely. How can we parse this data to extract the meaningful content from thedisplayed web page? Let’s learn this through this video.
This video will show you what you can do to replace complex syntax with something simpler.
This video will show you how you could upgrade the CSV and replace complex syntax with something simpler.
It's common to need to convert data from one format to another. For example, we mighthave a complex web log that we'd like to convert to a simpler format. This video will show you, how you could convert from one format to another.
A great deal of exploratory data analysis or EDA involves getting a summary of the data. How can we get basic descriptive statistics in Python? Let’s do it right now!
This video will let you perform statistical processing on (value, frequency) pairs.
Another common statistical summary involves the degree of correlation between two sets of data. This is not directly supported by Python's standard library. How can we determine if two sets of data correlate? Let’s see this.
How can we compute the linear regression parameters between two variables? Let’s answer this question.
If we suspect we have cyclic data, can we leverage the previous correlation function to compute an autocorrelation? Let’s explore this question.
Let’s see how we can evaluate data to see if it's truly random if there's some meaningful variation.
When we have statistical data, we often find data points which can be described as outliers. Let’s see how we locate and label potential outliers.
This video will show, how you can make one pass through a set of data and collect a number of descriptive Statistics.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.