Python 3: Deep Dive (Part 1 - Functional)

4.8
4 538 комментариев
Payment
Обучение платное
Certificate
Сертификация бесплатная
Duration
44.5 часов курса
О курсе

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 more before tackling this series.

On the other hand, if you're now starting to ask yourself questions like:

  • I wonder how this works?
  • is there another 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? Can I write my own?
  • why isn't this boolean expression returning a boolean value?
  • what does an import actually do, and why am I getting side effects?
  • and similar types of question

then this course is for you.

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
  • Namespaces and scope
  • 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

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 videos, but lean in for the code videos!

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
  • ifelse  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)
Программа
Introduction
An overview of the course content, and pre-requisites for getting the most out of this course.
Course Overview
Pre-Requisites
Code Projects and Notebooks
A Quick Refresher - Basics Review
A quick refresher of some of the basic Python pre-requisites for this course. If you are already comfortable with basic Python you can safely just skip this section.
Introduction
The Python Type Hierarchy
Multi-Line Statements and Strings
Variable Names
Conditionals
Functions
The While Loop
Требования
  • Basic introductory knowledge of Python programming (variables, conditional statements, loops, functions, lists, tuples, dictionaries, classes).
  • You will need Python 3.6 or above, and a development environment of your choice (command line, PyCharm, Jupyter, etc.)
Что Вы изучите?
  • 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
Лекторы
Fred Baptiste
Fred Baptiste
Professional Developer and Mathematician

Hi,

My name is Fred Baptiste.

I started my career with a PhD in mathematics and have been programming professionally for over 25 years in a variety of technologies and languages, including Python, .Net (C# and VB), Java, C++, and JavaScript to name a few, and databases including relational SQL databases such as MS SQL Server and Postgres as well as No-SQL databases such as MongoDB, Couchbase and Neo4j.

Since 2011 I have been focused on Python almost exclusively, mainly in REST API development and data management and analysis using back-end databases such as SQL Server, Postgres and MongoDB.

I have spent a lot of time and effort learning and gaining an in-depth understanding of Python and writing idiomatic Python, and I'd like to share that with you.

I'm definitely a Python enthusiast for many reasons, and I'd like to share that passion with you too!

Платформа
Udemy
Курсы Udemy подойдут для профессионального развития. Платформа устроена таким образом, что эксперты сами запускают курсы. Все материалы передаются в пожизненный доступ. На этой платформе можно найти курс, без преувеличений, на любую тему – начиная от тьюториала по какой-то камере и заканчивая теоретическим курсом по управлению финансовыми рисками. Язык и формат обучения устанавливается преподавателем, поэтому стоит внимательно изучить информацию о курсе перед покупкой.
129.99 $ 199.99 $
Рейтинг
4.8
3 430
1 056
148
18
18