Udemy

Python 3: Deep Dive (Part 1 - Functional)

Enroll Now
  • 69,266 Students
  • Updated 8/2024
  • Certificate Available
4.8
(12,944 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Language
English
Taught by
Dr. Fred Baptiste
Certificate
  • Available
  • *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Rating
4.8
(12,944 Ratings)
3 views

Course Overview

Python 3: Deep Dive (Part 1 - Functional)

Variables, Functions and Functional Programming, Closures, Decorators, Modules and Packages

Hello!

This is Part 1 of a series of courses intended to dive into the inner mechanics and more complicated aspects of Python 3.

This is not a beginner course!

If you've been coding Python for a week or a couple of months, you probably should keep writing Python for a bit longer before tackling this series.

On the other hand, if you've been studying or programming in Python for a while, and are now starting to ask yourself questions such as:

  • I wonder how this works?

  • is there another, more pythonic, way, of doing this?

  • what's a closure? is that the same as a lambda?

  • I know how to use a decorator someone else wrote, but how does it work? How do I write my own?

  • why do some boolean expressions not return a boolean value? How can I use that to my advantage?

  • how does the import mechanism in Python work, and why am I getting side effects?

  • and similar types of question...

then this course is for you.


To get the most out of this course, you should be prepared to pause the coding videos, and attempt to write code before I do! Sit back during the concept/theory videos, but lean in for the code videos!


Please make sure you review the pre-requisites for this course (below)  - although I give a brief refresh of basic concepts at the beginning of the course, those are concepts you should already be very comfortable with as you being this course.

In this course series, I will give you a much more fundamental and deeper understanding of the Python language and the standard library.

Python is called a "batteries-included" language for good reason - there is a ton of functionality in base Python that remains to be explored and studied.

So this course is not about explaining my favorite 3rd party libraries - it's about Python, as a language, and the standard library.

In particular this course is based on the canonical CPython. You will also need Jupyter Notebooks to view the downloadable fully-annotated Python notebooks.

It's about helping you explore Python and answer questions you are asking yourself as you develop more and more with the language.


In Python 3: Deep Dive (Part 1) we will take a much closer look at:

  • Variables - in particular that they are just symbols pointing to objects in memory (references)

  • Namespaces and scopes

  • Python's numeric types

  • Python boolean type - there's more to a simple or statement than you might think!

  • Run-time vs compile-time and how that affects function defaults, decorators, importing modules, etc

  • Functions in general (including lambdas)

  • Functional programming techniques (such as map, reduce, filter, zip, etc)

  • Closures

  • Decorators

  • Imports, modules and packages

  • Tuples as data structures

  • Named tuples



Course Prerequisites

This is an intermediate to advanced Python course.

To have the full benefit of this course you should be comfortable with the basic Python language including:

  • variables and simple types such as str , bool , int  and float  types

  • for  and while  loops

  • if...else...  statements

  • using simple lists , tuples , dictionaries  and sets

  • defining functions (using the def  statement)

  • writing simple classes using the class  keyword and the __init__  method, writing instance methods, creating basic properties using @property decorators

  • importing modules from the standard library (e.g. import math)


You should also:

  • have Python 3.6 (or higher) installed on your system

  • be able to write and run Python programs using either:

    • the command line, or

    • a favorite IDE (such as PyCharm),

  • have Jupyter Notebooks installed (which I use throughout this course so as to provide you fully annotated Python code samples)

Course Content

  • 11 section(s)
  • 161 lecture(s)
  • Section 1 Introduction
  • Section 2 A Quick Refresher - Basics Review
  • Section 3 Variables and Memory
  • Section 4 Numeric Types
  • Section 5 Function Parameters
  • Section 6 First-Class Functions
  • Section 7 Scopes, Closures and Decorators
  • Section 8 Tuples as Data Structures and Named Tuples
  • Section 9 Modules, Packages and Namespaces
  • Section 10 Python Updates
  • Section 11 Extras

What You’ll Learn

  • An in-depth look at variables, memory, namespaces and scopes
  • A deep dive into Python's memory management and optimizations
  • In-depth understanding and advanced usage of Python's numerical data types (Booleans, Integers, Floats, Decimals, Fractions, Complex Numbers)
  • Advanced Boolean expressions and operators
  • Advanced usage of callables including functions, lambdas and closures
  • Functional programming techniques such as map, reduce, filter, and partials
  • Create advanced decorators, including parametrized decorators, class decorators, and decorator classes
  • Advanced decorator applications such as memoization and single dispatch generic functions
  • Use and understand Python's complex Module and Package system
  • Idiomatic Python and best practices
  • Understand Python's compile-time and run-time and how this affects your code
  • Avoid common pitfalls


Reviews

  • P
    Peter Gerdzhikov
    4.5

    Really good course, my only problem with it are the examples, I don't understand why names should have names like "n" and functions "func". To this date I haven't watched a course, where the lecturer has previously thought about giving a suitable example.

  • T
    TAY KOK KIM
    4.5

    Overall is a solid foundational and practical Python 3 course. Cheers.

  • M
    Modestus Lorence
    5.0

    I think every Python Developer should go through these deep dive courses. It is soooo good. I am so grateful and thankful to Udemy. Every details are explained so clearly. WOW!!

  • J
    Juan Aldao
    5.0

    Absolutely great. As the name says, it is a Deep Dive. The content is clear and no time wasted. Maybe not great for absolute begginers in Python.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed