Python 3: Deep Dive (Part 1 - Functional)
Год выпуска: 8/2024
Производитель: Udemy
Сайт производителя:
https://www.udemy.com/course/python-3-deep-dive-part-1/
Автор: Dr. Fred Baptiste
Продолжительность: 45h 49m 41s
Тип раздаваемого материала: Видеоурок
Язык: Английский
Субтитры: Английский
Описание:
Variables, Functions and Functional Programming, Closures, Decorators, Modules and Packages
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
Requirements
- 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.)
Description
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)
Who this course is for:
- Anyone with a basic understanding of Python that wants to take it to the next level and get a really deep understanding of the Python language and its data structures.
- Anyone preparing for an in-depth Python technical interview.
Формат видео: MP4
Видео: avc, 1920x1080, 16:9, 30.000 к/с, 2501 кб/с
Аудио: aac lc sbr, 44.1 кгц, 62.8 кб/с, 2 аудио
Изменения/Changes
The 2020/8 version has not changed much in terms of topics compared to the 2018/8 version, but the quality of the course has been upgraded to 1080.
Version 2022/6 compared to 2020/8 has increased the number of 4 lessons and the duration of 1 hours and 28 minutes. English subtitles have also been added to the course.
The 2020/8 version has not changed much in terms of topics compared to the 2018/8 version, but the quality of the course has been changed to 720.
The 2024/8 version has decreased the number of lessons by 1 and the duration by 18 minutes compared to 2022/12.
MediaInfo
General
Complete name : D:\2_2\Udemy - Python 3 Deep Dive (Part 1 - Functional) (8.2024)\11. Extras\1. Introduction.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 70.3 MiB
Duration : 3 min 40 s
Overall bit rate mode : Variable
Overall bit rate : 2 679 kb/s
Frame rate : 30.000 FPS
Recorded date : 2025-05-03 23:16:09.3511276+03:30
Writing application : Lavf61.9.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3 min 40 s
Source duration : 3 min 40 s
Bit rate : 2 501 kb/s
Nominal bit rate : 3 200 kb/s
Maximum bit rate : 2 611 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.040
Stream size : 65.6 MiB (93%)
Source stream size : 68.5 MiB (97%)
Writing library : x264 core 164 r3095 baee400
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=24 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=6 / scenecut=0 / intra_refresh=0 / rc_lookahead=60 / rc=cbr / mbtree=1 / bitrate=3200 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=3200 / vbv_bufsize=6400 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.601
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC SBR
Format/Info : Advanced Audio Codec Low Complexity with Spectral Band Replication
Commercial name : HE-AAC
Format settings : Implicit
Codec ID : mp4a-40-2
Duration : 3 min 40 s
Bit rate mode : Variable
Bit rate : 62.8 kb/s
Maximum bit rate : 64.4 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 21.533 FPS (2048 SPF)
Compression mode : Lossy
Stream size : 1.65 MiB (2%)
Default : Yes
Alternate group : 1