Home About Courses Schedule Services Webinars Contact Search

Advanced Python 3


Duration: 2 Days

Method: Instructor-Led, Hands On

Price: $1125.00

Course Code: PY1007


Python developers wanting to learn more about the Python language.


Already know the basics of Python and now looking for advanced Python training? This is the course you need. Further, you will learn to use mapping and filtering and lambda functions, to do advanced sorting, to work with Python's regular expression library, to work with databases and external files, to write object-oriented Python, and to test and debug your Python programs.


Upon successful completion of this course, the student will be able to:

  • Learn to work with the Collections module
  • Learn about mapping and filtering and lambda functions
  • Learn advanced sorting
  • Learn to work with regular expressions in Python
  • Learn to work with databases, CSV files, JSON, and XML
  • Learn to write object-oriented code in Python
  • Learn to test and debug your Python code
  • Learn about Unicode and text encoding


Students should have a basic foundation of the Python language.


  • I. Advanced Python Concepts
    • Lambda Functions
    • Advanced List Comprehensions
      • Quick Review of Basic List Comprehensions
      • Multiple for Loops
    • Rolling Five Dice
    • Collections Module
      • Named Tuples
      • Default Dictionaries (defaultdict)
    • Creating a defaultdict
      • Ordered Dictionaries (OrderedDict)
    • Creating a OrderedDict
      • Counters
    • Creating a Counter
      • Deques (deque)
    • Working with a deque
    • Mapping and Filtering
      • map(function, iterable, ...)
      • filter(function, iterable)
      • Using Lambda Functions with map() and filter()
    • Mutable and Immutable Built-in Objects
      • Strings are Immutable
      • Lists are Mutable
    • Sorting
      • Sorting Lists in Place
      • The sorted() Function
    • Converting list.sort() to sorted(iterable)
      • Sorting Sequences of Sequences
      • Sorting Sequences of Dictionaries
    • Unpacking Sequences in Function Calls
    • Converting a String to a datetime.date Object
      • Modules and Packages
      • Modules
      • Packages
      • Search Path for Modules and Packages
  • II. Working with Data
    • Relational Databases
      • PEP 0249 -- Python Database API Specification v2.0
      • PyMySQL
      • Returning Dictionaries instead of Tuples
      • sqlite3
    • Querying a SQLite Database
      • Passing Parameters
      • SQLite Database in Memory
      • Executing Multiple Queries at Once
    • Inserting File Data into a Database
    • CSV...
      • Reading from a CSV File
      • Finding Data in a CSV File
    • Comparing Data in a CSV File
      • Creating a New CSV File
      • CSV Dialects
    • Getting Data from the Web
      • The Requests Package
      • Beautiful Soup
      • XML
    • Requests and Beautiful Soup
    • JSON.
    • Using JSON to print Course data
  • III. Testing and Debugging
    • Testing for Performance
      • time.perf_counter()
      • The timeit Module
    • The Unittest Module
      • Unittest Test Files
    • Fixing Functions
      • Special unittest.TestCase Methods
      • Assert Methods
  • IV. Classes and Objects
    • Attributes
    • Behaviors
    • Classes vs. Objects
      • Everything Is an Object
      • Creating Custom Classes
    • Attributes and Methods
    • Adding a roll() Method to Die
    • Private Attributes
    • Properties
      • Creating Properties with the property() Function
      • Creating Properties using the @property Decorator
    • Properties
      • Objects that Track their Own History
    • Documenting Classes
      • Using docstrings
    • Documenting the Die Class
    • Inheritance
      • Overriding a Class Method
      • Extending a Class
    • Extending the Die Class
      • Extending a Class Method
    • Extending the roll() Method
    • Static Methods
    • Class Attributes and Methods
      • Class Attributes
      • Class Methods
      • You Must Consider Subclasses
    • Abstract Classes and Methods
    • Understanding Decorators