Modern Python Solutions - Part 2
4.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
34 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Modern Python Solutions - Part 2 to your Wishlist.

Add to Wishlist

Modern Python Solutions - Part 2

The latest in modern Python recipes for the busy programmer
4.0 (1 rating)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
34 students enrolled
Created by Packt Publishing
Last updated 5/2017
English
Curiosity Sale
Current price: $10 Original price: $125 Discount: 92% off
30-Day Money-Back Guarantee
Includes:
  • 6 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Explore the basic and advanced class design in Python
  • Perform input/output operations and get to know the logical layouts
  • Get acquainted with advanced programming techniques in Python
  • Equip yourself with functional and statistical programming features
View Curriculum
Requirements
  • Basic knowledge of Python programming is assumed.
  • This course is targeted at intermediate-level developers who want to expand their knowledge base in Python. Prior knowledge of the basics of Python programming is required (Most of the basics are covered in – Modern Python Solutions Part 1).
  • The software Requirements for this course are:
  • Python 3.5
  • Windows OS
  • Any good text editor
Description

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.

Who is the target audience?
  • The videos will benefit everyone ranging from beginner to an expert.The course is for web developers, programmers, enterprise programmers, engineers, big data scientist, and so on. If you are experienced, it will expand your knowledge base.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
46 Lectures
05:55:17
+
Basics of Classes and Objects
9 Lectures 01:09:49

This video gives an overview of this course.

Preview 03:39

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.

Using a Class to Encapsulate Data and Processing
15:43

How can we design a class that makes use of Python's array of sophisticated built-in collections? Let’s see it.

Designing Classes with Lots of Processing
09:55

How can we create a class that allows us to use the object.attribute syntax instead ofobject['attribute']? This video will answer this question.

Designing Classes with Little Unique Processing
08:10

How can we create optimized classes with a fixed set of attributes? This video will show you how to do this.

Optimizing Small Objects with _slots_
05:13

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. 

Using More Sophisticated Collections
07:31

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!

Extending a Collection
05:38

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.

Using Properties for Lazy Attributes
05:54

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. 

Using Settable Properties to Update Eager Attributes
08:06
+
More Advanced Class Design
8 Lectures 01:01:56

This video will let you distinguish between the semantic issues and apply the best possible technique while establishing connection between two classes.

Preview 12:51

This video will show you how to handle all the variations in card game rules. 

Separating Concerns via Multiple Inheritance
07:10

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.

Leveraging Python's Duck Typing
05:10

This video will let you work with implicit global objects and manage the operation through them. 

Managing Global and Singleton Objects
09:03

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.

Using more Complex Structures
04:06

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.

Creating a Class that Has Orderable Object
07:55

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.

Defining an Ordered Collection
06:48

Removing items from a list has an interesting consequence.How can we delete multiple items from a list?Let’s see this.

Deleting from a List of Mappings
08:53
+
Functional and Reactive Programming Features
10 Lectures 01:17:30

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.

Preview 11:23

How can we stack or combine multiple generator functions to create a composite function? Let’s look into this.

Using Stacked Generator Expression
11:50

This video will show you, how you could simplify the generator functions and generator expressions which have the similar boilerplate code.

Applying Transformations to a Collection
04:54

This video will teach you the different ways to filter and pick items from a subset.

Picking a Subset
06:22

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.

Summarizing a Collection
05:02

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.

Combining Map and Reduce Transformations
08:50

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.

Implementing “There Exists” Processing
06:44

Let’s see how we can define a function that has some parameters provided in advance.

Creating a Partial Function
06:34

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.

Simplifying Complex Algorithms with Immutable Data Structures
09:45

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.

Writing Recursive Generator Functions with the Yield from Statement
06:06
+
Input/Output, Physical Format, Logical Layout
11 Lectures 01:19:59

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.

Preview 13:02

Let’s see how we can be sure that resources are acquired and released properly and how we can avoid avoidresource leaks. 

Reading and Writing Files with Context Managers
07:45

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!

Replacing a File While Preserving the Previous Version
06:08

How can we process data in one of the wide varieties of CSV formatting? Let’s learn to do it, right now!

Reading Delimited Files with the CSV Module
05:56

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.

Reading Complex Formats Using Regular Expressions
03:04

How do we use the json module to parse JSON data in Python? Let’s look into this.

Reading JSON Documents
13:55

How do we use the xml.etree module to parse XML data in Python? Let’s explore this questions.

Reading XML Documents
06:45

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.

Reading HTML Documents
06:49

This video will show you what you can do to replace complex syntax with something simpler.

Upgrading CSV from DictReader to the namedtuple Reader
05:54

This video will show you how you could upgrade the CSV and replace complex syntax with something simpler.

Upgrading CSV from a DictReader to a Namespace Reader
05:00

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.

Using Multiple Contexts for Reading and Writing Files
05:41
+
Statistical Programming and Linear Regression
8 Lectures 01:06:03

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!

Preview 09:57

This video will let you perform statistical processing on (value, frequency) pairs.

Average of Values in a Counter
07:20

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. 

Computing the Coefficient of a Correlation
04:22

How can we compute the linear regression parameters between two variables? Let’s answer this question.

Computing Regression Parameters
06:17

If we suspect we have cyclic data, can we leverage the previous correlation function to compute an autocorrelation? Let’s explore this question.

Computing an Autocorrelation
08:29

Let’s see how we can evaluate data to see if it's truly random if there's some meaningful variation. 

Confirming that the Data is Random – the Null Hypothesis
10:31

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.

Locating Outliers
10:01

This video will show, how you can make one pass through a set of data and collect a number of descriptive Statistics.

Analyzing Many Variables in One Pass
09:06
About the Instructor
Packt Publishing
3.9 Average rating
7,349 Reviews
52,621 Students
616 Courses
Tech Knowledge in Motion

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.