Mastering Python

Get to grips with Python best practices and advanced tools to design, distribute, and test your programs
2.8 (16 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.
445 students enrolled
$95
Take This Course
  • Lectures 37
  • Contents Video: 3 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course 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.

What are the 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.

What am I going to get from this course?

  • 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

What 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!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Setting Up the Work Environment
03:41
Get a high-level view of what this course will do for you.
03:02

Get a functional Python development environment.

03:30
Learn how to perform quick experiments and access documentation.
02:55
Learn how to easily download and install third-party packages.
03:08
Discover available resources so that you don't have to reinvent the wheel.
Section 2: Creating a Package
04:10

Learn the filesystem structure that defines a Python package.

04:36
Add code files to the package.
05:01
Combine code from multiple modules.
02:33

Include data alongside the modules in your package.

Section 3: Basic Best Practices
06:19
Make your code more readable for yourself and others using Python's communal coding standard.
06:00

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

03:26
Create a development area that remains stable for the duration of your development process.
06:23

Format your docstrings to maximize their usefulness.

02:51

Run the examples in your docstrings as tests.

Section 4: Creating a Command-line Utility
04:15
Create a package entry point to make the package executable.
05:20
Create full-featured command-line parsers.
03:38
Get the input and provide the output while the program is running.
05:04
Execute and interact with other programs.
01:53

Reduce the effort needed to run executable packages.

Section 5: Parallel Processing
09:57
Use a high-level interface to distribute computational tasks to worker processes and collect the results.
08:37
Use a mid-level interface to create cooperative parallel processes.
Section 6: Coroutines and Asynchronous I/O
05:50

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

05:26
How to get the asyncio scheduler running and add asynchronous tasks.
06:04

How asyncio futures behave and what to do with them.

05:51

How to use synchronization, waiting, and communication channels.

03:15
Easily use stream sockets to communicate.
Section 7: Metaprogramming
05:01
Automatically post-process functions.
04:55
Add new semantics to functions.
04:28

Automatically post-process classes.

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

Set up special rules for regions of code.

05:37
Control what happens when attributes are accessed.
Section 8: Unit Testing
03:31

Get more benefits out of testing with less work.

05:36

Write tests, run them, and understand the results.

05:39

Use mock objects to keep tests local.

03:56
Run tests even more easily with test discovery.
03:59

Take advantage of more complete test discovery and integrated reporting.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course