Mastering Python
2.9 (37 ratings)
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.
636 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Python to your Wishlist.

Add to Wishlist

Mastering Python

Get to grips with Python best practices and advanced tools to design, distribute, and test your programs
2.9 (37 ratings)
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.
636 students enrolled
Created by Packt Publishing
Last updated 5/2015
English
Learn Fest Sale
Current price: $10 Original price: $95 Discount: 89% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build Python packages to efficiently create reusable code
  • Become proficient at creating tools and utility programs in Python
  • Use the Git version control system to protect your development environment from unwanted changes
  • Harness the power of Python to automate other software
  • Distribute computation tasks across multiple processors
  • Handle high I/O loads with asynchronous I/O for smoother performance
  • Take advantage of Python's metaprogramming and programmable syntax features
  • Get to grips with unit testing to write better code, faster
View Curriculum
Requirements
  • This video course is a step-by-step tutorial with each section covering a distinct topic enhanced with discussions and examples; the topics have a wide variety ranging from the basics and fundamentals of Python to advanced power skills.
Description

This course takes you on a journey from the basics of operating in a Python development environment through to advanced topics and master-level techniques. It presents you with a guide to Python and its standard library, focusing on language and library elements that are particularly useful for tool authors and system programmers.

We start off with the basics to set up a functioning environment, creating packages, and running them on the command line. Through our journey, we'll highlight the major aspects of managing our Python development environment, handling parallel computation, and mastering asynchronous I/O for improved performance of our system. Finally, we'll learn the secrets of metaprogramming and unit testing in Python arming you with the perfect skillset to be a Python expert.

Mastering Python will get you up to speed in everything from basic programming practices to high-end tools and techniques that will help you set apart as a successful Python programmer.

About the Author

Daniel Arbuckle holds a doctorate in Computer Science, and works as a Python programming consultant.

Who is the target audience?
  • If you are a programmer who is familiar with the basics of Python and you want to broaden your knowledge base to develop projects better and faster, this course is for you. Learn the best practices and advanced techniques in Python to produce useful code with ease, just like an expert!
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 37 Lectures Collapse All 37 Lectures 02:55:03
+
Setting Up the Work Environment
5 Lectures 16:16
Get a high-level view of what this course will do for you.
Preview 03:41

Get a functional Python development environment.

Downloading and Installing Python
03:02

Learn how to perform quick experiments and access documentation.
Using the Command Line and the Interactive Shell
03:30

Learn how to easily download and install third-party packages.
Installing Packages with pip
02:55

Discover available resources so that you don't have to reinvent the wheel.
Finding Packages in the Python Package Index
03:08
+
Creating a Package
4 Lectures 16:20

Learn the filesystem structure that defines a Python package.

Preview 04:10

Add code files to the package.
Adding Modules to the Package
04:36

Combine code from multiple modules.
Importing One of the Package's Modules from Another
05:01

Include data alongside the modules in your package.

Adding Data Files to the Package
02:33
+
Basic Best Practices
5 Lectures 24:59
Make your code more readable for yourself and others using Python's communal coding standard.
Preview 06:19

Manage changes, versions, and branches in your source code.

Using Version Control
06:00

Create a development area that remains stable for the duration of your development process.
Using venv to Create a Stable and Isolated Work Area
03:26

Format your docstrings to maximize their usefulness.

Getting the Most Out of docstrings Part 1 – PEP 257 and Sphinx
06:23

Run the examples in your docstrings as tests.

Getting the Most Out of docstrings Part 2 – doctest
02:51
+
Creating a Command-line Utility
5 Lectures 20:10
Create a package entry point to make the package executable.
Preview 04:15

Create full-featured command-line parsers.
Handling Command-line Arguments with argparse
05:20

Get the input and provide the output while the program is running.
Text-mode Interactivity
03:38

Execute and interact with other programs.
Executing Other Programs
05:04

Reduce the effort needed to run executable packages.

Using Shell Scripts or Batch Files to Launch Programs
01:53
+
Parallel Processing
2 Lectures 18:34
Use a high-level interface to distribute computational tasks to worker processes and collect the results.
Preview 09:57

Use a mid-level interface to create cooperative parallel processes.
Using Multiprocessing
08:37
+
Coroutines and Asynchronous I/O
5 Lectures 26:26

The API looks a lot like concurrent.futures, but it's doing something very different.

Preview 05:50

How to get the asyncio scheduler running and add asynchronous tasks.
Using the asyncio Event Loop and Coroutine Scheduler
05:26

How asyncio futures behave and what to do with them.

Futures
06:04

How to use synchronization, waiting, and communication channels.

Making Asynchronous Tasks Interoperate
05:51

Easily use stream sockets to communicate.
Communicating across the Network
03:15
+
Metaprogramming
6 Lectures 29:37
Automatically post-process functions.
Preview 05:01

Add new semantics to functions.
Using Function Annotations
04:55

Automatically post-process classes.

Using Class Decorators
04:28

Change what it means to be a class.
Using Metaclasses
04:55

Set up special rules for regions of code.

Using Context Managers
04:41

Control what happens when attributes are accessed.
Using Descriptors
05:37
+
Unit Testing
5 Lectures 22:41

Get more benefits out of testing with less work.

Preview 03:31

Write tests, run them, and understand the results.

Using unittest
05:36

Use mock objects to keep tests local.

Using unittest.mock
05:39

Run tests even more easily with test discovery.
Using unittest's Test Discovery
03:56

Take advantage of more complete test discovery and integrated reporting.

Using Nose for Unified Test Discovery and Reporting
03:59
Frequently Bought Together
About the Instructor
Packt Publishing
3.9 Average rating
5,077 Reviews
39,712 Students
396 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.