Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Python 2000: Beyond The Basics
Rating: 4.2 out of 5(48 ratings)
17,740 students

Python 2000: Beyond The Basics

Secrets of the Pythonic Masters
Last updated 6/2024
English

What you'll learn

  • Learn how to share / re-use code
  • Learn how to gather user input
  • Learn how to detect and recover from errors
  • Understand how to create classes & class variables
  • Learn how to create your own classes
  • Understand class initialization
  • Learn how to locate protected member-functions in other modules
  • Use built-in functions to explore imported information
  • Discover how to list loaded modules
  • Discover 'invisible' package initialization
  • Learn how to avoid name collision in Python
  • Discover how to define & modify global and local variables
  • Learn how to access parent-member values & variables
  • Review the entire set of data-formatting operations
  • Learn how to anticipate dictionary ordering
  • Discover how to create & user a custom sort routine
  • Discover how using .format() is more flexible & forgiving than classic formatting operations
  • Learn how to use the sorted() built-in
  • Understand Python "comprehensions" to quickly filter & collect lists, dictionaries, sets & even strings!
  • Learn the difference between “isa” and “hasa”
  • Understand how Generators support distinct enumerations
  • Review the difference between Python's "Metaclasses," and the classes we create
  • Learn how to detect & manage critical class, as well as meta-class, relationships
  • Discover advanced Pythoneering topics

Course content

5 sections65 lectures4h 24m total length
  • 2100: Welcome to Python 2000!1:02

    Professional Python 3 software developers need to understand Python's complete set of keywords, as well as know how to create first-class, sharable, Python Objects. In Python 2000 therefore, we will cover not only how to create sharable modules and classes, but also delve deeper into how Python's keywords & classes interact with each other within Python's Class & Module Frameworks.

  • 2110: Keywords -v- Built-In Functions3:16

    Let's take a moment to review our coverage of Python keywords, the classic built-ins, as well as use Pythons dir() and help() operations.


  • 2120: Input & Error Management5:35

    Gathering & processing input from humans and other programs can be an important part of any automation activity. Yet while gathering input from other sources is important however, relying upon data from humans or other sources can introduce allot of potential input errors into our applications.

    Because outside input can be an amazing resource as well as a major source of error, in these more advanced lessons we should begin to build upon Pythons data-input support, as well as discover how to manage Exceptions. -Much as the moniker implies, in Python – as in other programming languages - Exceptions allow us to manage what we would like to do whenever results are not what we expect.

    In this first official lesson in
    Python 2000 therefore, we will:


    • Learn how to gather user input

    • Learn how to detect and recover from parsing errors

    • Learn how to raise & process an exception

    • Discover how to use try & except


  • 2130: Input & Error Management (Part II)2:09

    When managing errors, we obviously do not know how many we might have. With the idea of gathering input therefore, we should be able to loop as many times as needed until get either quit, or get what we need.

    In this lesson we will build upon what we have learned so as to be able to:

    • Understand how to use 'while' and 'break'

    • Discover how to use try, except, and finally

    • Learn how to raise an exception


  • 2140: Using 'Finally' & 'Else'4:31

    Expanding Try / Except to use the "finally" and "else" keyword options.

  • 2150: Introduction to Classes: Creating Custom Exceptions (Part II)3:30

    Inheritance is the bedrock of Object Orientation. One great way to appreciate Inheritance is to start re-using Exceptions, as well as to create our own classes.

    Python's Exception-management hierarchy is also a very good example of what a good programming Framework is all about. By inheriting from the "Exception" Class, our first official class will be opting-in to an important Python, class-management, strategy.

    In this lesson we will begin to create our own classes. While a challenging concept in Python, in order to truly master Python 3 we must be able to create our own classes so as to begin to explore Python's Object Framework, or those “Magic Methods,” later on!

    Our goals for this lesson must therefore be to:

    • Understand how to create classes & class variables

    • Discover how to use try, except, else and finally

    • Understand how to use package importation

    • Discover how to limit package importation

    • Learn how to create custom exceptions

    • Understand class initialization

    • Review how to use 'pass' to create 'stub functions'

  • 2160: Importing the “Outside World”1:49

    Discover the virtues of Python's "pass" keyword, as well as how to use comments to manage an Exception()al learning experience.

  • 2170: Inspecting the Python Path (Part I)6:16

    You write code, I write code, they write code… designed for community support, sharing is truly caring in Python 3!

    To enjoy what others have written, as well as to share what we have with others, professional Python Programmers need to understand how to create, as well as to re-use, code from other software developers. In this lesson therefore, we will:

    • Learn how to use Package importation 

    • Understand how to re-use 3rd party packages & names 

    • Discover how to limit package importation

  • 2180: System Paths (Part I)2:19

    Just like testing assumptions in our code, Python's packing conventions allows us to document & test our modules, as well.

    Yet Python Professionals also know how to manage a few of those lesser-known ways to include & exclude modules. By simply managing the locations Python uses to find what our code is looking for, we can even swap-in modules that look the same to our code, yet operate quite differently!

    In this lesson, we will:

    • Learn how to enumerate the system path 

    • Discover how to list loaded modules 

    • Use built-in functions to explore imported information 

    • Discover how to test exception hierarchies

  • 2190: System Paths (Part II)5:21

    Path management, part 2.


  • 2200 The Import Alias4:26

    Now that we know how to include and exclude packages by managing Python's search path, we should note that Python also allows us to accomplish much the same thing using code.

    In this lesson, we will:

    • Learn how to avoid name collision in Python
    • Understand module documentation
    • Discover 'invisible' package initialization


  • 2210: Your First Package!6:32

    While creating amazing things for ourselves is how most choose to use Python, in Python 3 we can allow our creations to integrate so as to seem to be “built into” the Python Programming Environment.

    While there are many ways to integrate our code into both Python and Python-related Frameworks, one of the best ways to appreciate how Frameworks operate is to allow our own Modules to be used by the help() subsystem!

    In this lesson therefore, the you will:

    • Create your own Package

    • Review dir()-accessible module listing

    • Create help() accessible documentation

    • Import and use your own module classes & functions

    • Learn how to test your own modules
  • 2220: Modules, Scripts & Scope3:18

    Into the list of slightly odd, yet easy-to-understand software security paradigms is Python's unique way of protecting class & package members. In addition to code protection however, is our need to access variables and other objects created by ourselves, as well as by others. -Code & class members that Professional Python Experts will need to create and share between the testable applications & infrastructures that make up our programming worlds.

    In this lesson therefore, we must:

    • Understand the Global, Local, and Build-in scope
    • Discover how to define & modify global and local variables
    • Learn how to protect module operations and class members
    • Discover how Python's protective “name-mangling” works
  • 2230: Modules, Scripts & Scope (Continued)1:03
  • 2240: Modules, Scripts & Scope (Continued)2:40

    Understand what a "forward reference" is, as well as the best-practice recommendation.

  • 2250: Functions as Objects (Part I)1:46

    Many old and new Python Professionals alike are surprised to learn that even our function definitions are themselves are typically being bound to a Python Object!

    When function are bound to objects, we can of course share them, as well as to add & use functions in some rather surprising places.

    In this lesson, we will also:

    • Discover how to share data

    • Revisit string-formatting operations

    • Discover how to avoid %-formatting exceptions
  • 2260: Functions as Objects (Part II)3:03
  • 2270: Managing Global & Local Scope (Part I)2:47

    Discover how Python keeps track of global and local definitions, as well as some interesting ways to use a class to return a Dictionary.

  • 2280: Managing Global & Local Scope (Part II)5:00

    The solution to the activity, as well as the continuation of Part I.

  • 2290: Managing Global & Local Scope (Part II)3:34

    Updating our class so as to use "the contents of" operation to list the keywords in a returned Dictionary result.

  • 2300: More Formatting Opportunities (Part I)4:02

    Time for a little trivial pursuit…

    Having defined “input” and “output” as two of the three (3) major justifications for writing software at-all, we should not be surprised that Python offers so many data-formatting choices. In this lesson we will:

    • Revisit string-formatting operations

    • Review the entire set of % formatting operations

    • Discover how to avoid %-formatting exceptions
  • 2310: More Formatting Opportunities (Part II)7:43

    The solution to our previous activity, as well as the continuation of Part I.

  • 2320: Data Formatting Activity2:17

    After having taken a closer look at Python's function-passing & data-formatting opportunities, we can both apply as well as expand what we are learning so as to make life a little easier… as well as a tad more “Pythonic!”

    Our goals for this lesson will be to format a dictionary for string, floating point, integer, and field-justified reporting.

  • 2330: Conditional Testing (Part I)2:48

    Practice makes perfect … Python 'Pros!

    In this session we can:

    • Practice using and / or / not

    • Learn how to read blocks of Boolean values

  • 2340: Conditional Testing (Part II)5:54

    Using elif, as well as the official activity.

  • 2350: Managing Dictionaries - Sorting4:01
    • Learn how to anticipate dictionary ordering

    • Discover how to create & use a custom sort routine

    • Use the 'sorted' keyword to process several collection types

Requirements

  • Students must have installed Python 3.x or greater.
  • Students must know how to create, run, and debug Python using IDLE3, or an IDE equavalent.

Description

Layered Learning

Never a "one size fits all" approach, our training opportunities are divided into beginner (1000), intermediate (2000), and advanced (3000 - 9000) experience levels. Rather than learning things you might not need to know, you can choose the topics that you are most interested in.  Written by a Principal Trainer & Principal Software Development Engineer, in order to insure mastery key topics are presented several times, as well as at ever-increasing depth. No practice, no glory?

Python Programmers Welcome!

Python 2000 is designed for students with a basic understanding of Python. In Python 2000: Beyond the Basics students will focus upon using Python for creating classes, managing packages & paths, creating frameworks, as well as exploring more advanced & modern topics in Modern Python.


Beyond Functional

Students will complete keyword mastery by exploring a large collection of activity-related topics. Students will enjoy learning how to create Lambdas, Generators, Context Managers, Packages & Modules, Classes, Factories, Frameworks, how to manage Exceptions, as well as other professional programming topics.

Training Approach

I have divided all my training into step-by-step modules. Numbered from 1000 to 9000, the numbering system allows us to skip things that we already know to focus upon the things that we do not.


After completing Python 2000 you are ready to next explore a large collection of activity-related topics. Numbered from 3000 - 9000 rather than learning things you might not need to know, you can choose the topics that you are most interested in. 


If you are new to programming, then you’ll want to enjoy my free Python Primer.


Who this course is for:

  • Students must have completed Python 1000, or have an equivalent background in Python 3.