Python 3.12 is HERE!

  Рет қаралды 155,025

mCoding

mCoding

Күн бұрын

What's new in Python 3.12
Python 3.12 has just released! Let's take a look at all the new features!
― mCoding with James Murphy (mcoding.io)
Source code: github.com/mCodingLLC/VideosS...
What's new: docs.python.org/3/whatsnew/3....
Faster cpython: github.com/faster-cpython/
SUPPORT ME ⭐
---------------------------------------------------
Sign up on Patreon to get your donor role and early access to videos!
/ mcoding
Feeling generous but don't have a Patreon? Donate via PayPal! (No sign up needed.)
www.paypal.com/donate/?hosted...
Want to donate crypto? Check out the rest of my supported donations on my website!
mcoding.io/donate
Top patrons and donors: Jameson, Laura M, Dragos C, Vahnekie, Neel R, Matt R, Johan A, Casey G, Mark M, Mutual Information, Pi
BE ACTIVE IN MY COMMUNITY 😄
---------------------------------------------------
Discord: / discord
Github: github.com/mCodingLLC/
Reddit: / mcoding
Facebook: / james.mcoding
CHAPTERS
---------------------------------------------------
0:00 Intro
0:12 Type params
1:51 f-strings in the grammar
2:30 A per-interpreter GIL
3:51 Low-impact monitoring
5:03 Immortal objects
6:13 Comprehension inlining
7:09 Buffer protocol in Python
7:47 TypedDict annotating kwargs
9:00 typing override decorator
10:30 Unstable C-API tier
11:09 Bye bye setuptools
11:50 itertools batched
12:09 THE BEST PART
12:25 Thanks

Пікірлер: 293
@NotAUtubeCeleb
@NotAUtubeCeleb 7 ай бұрын
The comprehension change is a 10/10. Literally no change to your code required but comprehensions become twice as fast.
@LambOfDemyelination
@LambOfDemyelination 7 ай бұрын
twice?
@BrianWoodruff-Jr
@BrianWoodruff-Jr 7 ай бұрын
Looking forward to my coworkers comprehending twice as fast!
@ianliu88
@ianliu88 7 ай бұрын
I guess this also allows comprehensions to be evaluated in pdb session? Dunno, must test
@nigh_anxiety
@nigh_anxiety 7 ай бұрын
Haven't checked it yet, but does this also mean that a list comprehension for a class variable can now reference are pre-defined class variables? Previously it would fail as class definitions are not an enclosing scope.
@yourmomsboyfriend3337
@yourmomsboyfriend3337 7 ай бұрын
This is so cool, I can’t wait to use this in 2027 when it’s supported by all packages and about to be depreciated
@anon-fz2bo
@anon-fz2bo 6 ай бұрын
cant wait till cpp23 is fully supported in 3023 ⚰️
@squarerootof2
@squarerootof2 6 ай бұрын
Can't wait for humanity to be deprecated in 2030 and AI controlled cyber-organisms taking over the world.
@danmar007
@danmar007 6 ай бұрын
It's deprecated, but it's still funny.
@jamesflames6987
@jamesflames6987 7 ай бұрын
Great to see Python taking some inspiration from C++ such as typing and incomprehensible syntax.
@headlikeahole6548
@headlikeahole6548 7 ай бұрын
Types in C++ affect your programs, in python they are just for IDE hints.
@jamesflames6987
@jamesflames6987 7 ай бұрын
@@headlikeahole6548All of the complexity, none of the functionality.
@tuberroot1112
@tuberroot1112 7 ай бұрын
@@headlikeahole6548 " in python they are just for IDE hints." Even hints would be better than the instanity of gender fluid variables and non binary booleans !!! Python is a mess on every level.
@nagoranerides3150
@nagoranerides3150 6 ай бұрын
@@jamesflames6987 But they've really internalised the lesson from C++ that you can say you're OO without having to actually enforce it, so you can still have functions floating around any old place and of course none of the flow-control is OO at all. But, you know - whitespace!
@squarerootof2
@squarerootof2 6 ай бұрын
@@jamesflames6987 LOL,🤣
@K0nomi
@K0nomi 7 ай бұрын
the f string change is so helpful, ive run into that one quite a few times
@user-tc1ue4gt1h
@user-tc1ue4gt1h 7 ай бұрын
I usually use f"""{"somthing"}"""" if the double quote cannot be avoided. But usually f"{' something '}" would get the job done. Also use f"{{ {something} }}" when dealing with some command prompt requires {} as parameters.
@NoNameAtAll2
@NoNameAtAll2 7 ай бұрын
you've run into using quotes inside quotes and deciding not to escape them?
@SuperGrimmy
@SuperGrimmy 7 ай бұрын
As someone who maintains a lot of packages.. 3.7 disappearing is definitely the best. Can we fast track it to 3.10? :D
@nigeltan7766
@nigeltan7766 7 ай бұрын
is python 3.7 bad? im no expert but am curious so pls elaborate
@sid6645
@sid6645 7 ай бұрын
Losing 3.8 might be bad because of nvidia, as someone pointed out below.
@SuperGrimmy
@SuperGrimmy 7 ай бұрын
@@nigeltan7766 It would be "bad" to use it now since that version is no longer getting any updates including security fixes. Newer versions have the new language features and much better performance anyway.
@SuperGrimmy
@SuperGrimmy 7 ай бұрын
@@sid6645 yes, I the real world it would definitely be premature to fast track deprecation. It's just something some python package maintaners dream about because it can greatly reduce their work.
@aintaintaword666
@aintaintaword666 6 ай бұрын
And I'm still using 3.6 for an old custom-build tensorflow version that was specifically compiled to run on an ancient GPU
@rx97_mc
@rx97_mc 7 ай бұрын
I think with `kwargs`, it's not that having the same type for each `kwarg` is a natural solution but it's more like it's consistent with the typing of `args` where it *does* make more sense to have the same type for each arg.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
6:30 Just a note that, as with any function, generation of the code happens only once, at compile time, but creation of the function _object_ (ref to code + environment binding) happens every time that statement is executed.
@wChris_
@wChris_ 7 ай бұрын
im already excited for python pi (or just python 3.14) as it is now very very close
@Liam3851
@Liam3851 7 ай бұрын
Ever since python 2 went out with python e (2.7.18), I've been thinking it would be aesthetically pleasing for the python 3 line to end with 3.14.15. Perhaps if GIL removal by default gets released as Python 4...
@obed818
@obed818 7 ай бұрын
@@Liam3851cant wait for it’s end really..
@matthias916
@matthias916 7 ай бұрын
pithon
@jan-lukas
@jan-lukas 7 ай бұрын
Did python 1 stop with 1.414?
@Liam3851
@Liam3851 7 ай бұрын
@@jan-lukas 1.6.1. Golden ratio!
@stonemannerie
@stonemannerie 7 ай бұрын
As an NVIDIA Jetson which shipped Ubuntu 20.04 (i.e. python38) and lots of proprietary NVIDIA libraries which only have python binding for 3.8, I start sweating at the thought of 3.8 being dropped next year.
@cleverclover7
@cleverclover7 7 ай бұрын
you're not alone
@volbla
@volbla 7 ай бұрын
Let's update them 🙂
@Squeemos
@Squeemos 7 ай бұрын
I know exactly what you mean. As much as I love the new features of updates to python I get really worried the closer 3.8 gets to being dropped haha. Too many things would stop working for me :(
@SuperGrimmy
@SuperGrimmy 7 ай бұрын
You'd probably be fine for a couple more years until 2025 when ubuntu 20.04 LTS standard security maintenance also runs out. Probably Nvidia calculated it based on that. That's definitely within reason. Most consider a newly deprecated python version to have year or two more in them in enviroments like that.
@tuberroot1112
@tuberroot1112 7 ай бұрын
@@volbla "Let's update them ". Let us .... ? That will be you and who else picking up the burden of the massive work load imposed by the lamers at Python constantly doing non compatible "upgrades" and breaking everything in sight?
@Darmo_
@Darmo_ 7 ай бұрын
The new generic type syntax is sooo welcome
@Tomyb15
@Tomyb15 7 ай бұрын
The buffer protocol is nice. Many times I've come across functions in the standard library that say they work with anything that implements the buffer protocol, when it's C api only and only bytes and bytearray implement it. Not that useful but kinda nice.
@sethdhanson
@sethdhanson 6 ай бұрын
Been waiting for a 3.12 take from mCoding. Awesome!
@con-f-use
@con-f-use 7 ай бұрын
1:52 and it used to be that you coudln't use backslashes in f-strings. Which bit a lot of people in the backside.
@Kruglord
@Kruglord 7 ай бұрын
11:51 There's exactly one problem with `itertools.batched`, it's passed tense. All the other itertools are present tense, i.e. `groupby` rather than `groupedby`.
@negativeseven
@negativeseven 7 ай бұрын
I read it as an adjective, rather than a verb. Like functools.partial.
@simp-
@simp- 7 ай бұрын
never thought of that before, but It's pretty much same as in build-in python functions sorted() and reversed(). I mean we have ex. not mapped() but map(); not enumerated() but enumerate() tho I have never see anyone complain about it, even tho it's kinda not consistent
@piaIy
@piaIy 7 ай бұрын
​@@simp- Sorted and reversed are different, they suggest that the collection is not modified in place, but a copy/iterator is returned, whereas you can't really map or enumerate in place. As for batched, I think they chose that name because batch can also be interpreted as a singular noun. Kotlin also uses the name chunked for a similar method, and their naming conventions are pretty consistent.
@simp-
@simp- 7 ай бұрын
@@piaIy oh, okey I get it, thanks a lot
@Ballrock30
@Ballrock30 6 ай бұрын
Hi James, if you are gathering points for a new "Nooby Python habits" video, I might have one. Not sure if I missed it in the list or it is just so stupid that you did not think about it. In most of my codes I initialized instance attributes as class attributes instead of initializing them in the __init__() method. Mainly to make the code shorter and more readable. I mean, sure... Those are shared by all instances of a class, but if they are immutable objects they work like instance attributes. I realized my very stupid nooby habit when I created mutable objects (list and dict in my case) which is then shared between all instances. I think for newcomer this behavior is not quite obvious and can lead to silent misbehavior. I thought it is worth mentioning. Thank you for your great videos. Even considering the statement above, I'd say they made me a quite good Python dev :)
@nocturnomedieval
@nocturnomedieval 7 ай бұрын
Would like to hear more about your other preferred utils. How is batched implemented over an unindexed object, does it cast to a list or uses a generator ?
@pranavbhamidipati8609
@pranavbhamidipati8609 7 ай бұрын
Generator. Unlike batched_even which needs the iterator length, batched does not
@cleverclover7
@cleverclover7 7 ай бұрын
8/10 video. im gonna start using itertools batched. f string stuff was annoying having to use different quotes, etc. kinda wish single-quotes in python weren't a thing.
@michaelflynn6952
@michaelflynn6952 7 ай бұрын
I just wish they did something different than double quotes, feels like wasted opportunity to make two characters do the same thing
@RokeJulianLockhart.s13ouq
@RokeJulianLockhart.s13ouq 7 ай бұрын
​@@michaelflynn6952Yeah. Almost every other scripting language has different handling for the two characters.
@danmar007
@danmar007 6 ай бұрын
Finally!!! I've been waiting for this to start learning Python.
@cougar2013
@cougar2013 7 ай бұрын
Please let the 3.14 release be called “Pi-thon” 😂
@cardboard952
@cardboard952 6 ай бұрын
uyese
@NithinJune
@NithinJune 7 ай бұрын
Love this form of video with the ratings! Very engaging...
@ilayb
@ilayb 7 ай бұрын
6:13 I liked the "I don't have 2 billion monthly active users".
@trag1czny
@trag1czny 7 ай бұрын
Great vid as always 🎉
@bswck
@bswck 7 ай бұрын
discord gang 🤙
@l3gacyb3ta21
@l3gacyb3ta21 7 ай бұрын
woa! I love the static typing stuff
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
10:14 That would need a “@final” decorator on the base class method. No doubt that will be coming ...
@peyco
@peyco 7 ай бұрын
Actually, @final is already in the `typing` module since python 3.8 ;)
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
@@peyco Ha!
@codegeek98
@codegeek98 7 ай бұрын
2:05 spooky, I literally just got bit by that this morning; I had no idea that's being/been addressed
@bearwolffish
@bearwolffish 7 ай бұрын
wonderful update
@ilayb
@ilayb 7 ай бұрын
I likes the end that the best part is the support drop for 3.7. That's funny! And I always stay up to date exept if that's a thing like what that was from python 2 to python 3 which then I would slowly updgrade parts of my code to python 4 when I work on those parts.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
3.7 was a good version. That did a bunch of nice cleanups to asyncio, for example. Not so enamoured of 3.8, some small niceties in 3.9, 3.10 brought in the match-statement, 3.11 is probably the biggest release still in support.
@IterativeTheoryRocks
@IterativeTheoryRocks 4 ай бұрын
Marvellous. Loved it.
@bswck
@bswck 7 ай бұрын
one of the best updates ever
@ilayb
@ilayb 7 ай бұрын
The per interperter GIL is gonna come to python in 3.13! Right now it's only in the C API
@sadhlife
@sadhlife 7 ай бұрын
actually, there's an internal testing python module that already lets you create subinterpreters even in python 3.11: ``` from test. support import interpreters >>> interp = interpreters.create() >>> interp.run('print(2+2)') 4 >>> ```
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
Eventually the GIL is going away. But that’s a longer-term project.
@timseguine2
@timseguine2 7 ай бұрын
@@lawrencedoliveiro9104 I'll believe it when I see it.
@norude
@norude 7 ай бұрын
Static type gang here 👇
@thomasbates9189
@thomasbates9189 6 ай бұрын
How did you learn about all the python language features you currently know how to use and what motivated you to learn them? Many times I watch your videos and I see you use something that I wasn't aware of before like __slots__ and other items like that.
@sehaless
@sehaless 6 ай бұрын
Not that I have a use case for it, but I am curious. How do immortal objects actually work? Is there a way from within python to mark an object as immortal or is that fully up to the C implementation to handle - so only code that is partially C can benefit from it atm?
@volbla
@volbla 7 ай бұрын
I also have had to write my own batched function. Since itertools has pairwise you might think it should also have an n-wise, but not so until now.
@sabihass5361
@sabihass5361 7 ай бұрын
Thank you!
@calum.macleod
@calum.macleod 7 ай бұрын
"and python 3.8 has a year to go so I can start pushing clients to upgrade to 3.9" :D
@MrAlanCristhian
@MrAlanCristhian 7 ай бұрын
Override is my favorite. I love it.
@Creadeyh
@Creadeyh 7 ай бұрын
Is the debugger improvement applied to the integrated vscode debugger or do you have to use the sys.monitoring yourself ? Sorry I don't really know how debuggers work internally
@WesYarber
@WesYarber 6 ай бұрын
Bump
@Terra_135
@Terra_135 6 ай бұрын
10:15 PUBLIC STATIC VOID MAIN STRING ARGS 🗣‼
@mattlau04
@mattlau04 7 ай бұрын
I was waiting for release really patiently, the new type syntax and f-string syntax are such amazing changes
@_-_--_
@_-_--_ 7 ай бұрын
great video. thank you
@prawnydagrate
@prawnydagrate 6 ай бұрын
man you are literally the best python programmer i've ever seen
@rursus8354
@rursus8354 Ай бұрын
10:26: C++ typing is a good thing! Typing has the two purposes of 1. helping the programmer catch errors, 2. creating an efficient compiler producing lightning fast machine code (if the programmer chooses to). If the answer on purpose 2. is "use another language" then Python isn't that language.
@foobar8894
@foobar8894 7 ай бұрын
Only two more to go until we can start calling it πthon...
@seifenspender
@seifenspender 7 ай бұрын
These changes all sound amazing.
@wizpig64
@wizpig64 7 ай бұрын
Love your music by the way
@curtmcd
@curtmcd 7 ай бұрын
Good stuff. Generics have come a long way. Now we need currying. Nits: is that min_max generic at 0:13 supposed to return triples? And at 0:49 shouldn't it return self.seq[item] or something?
@FrederikSchumacher
@FrederikSchumacher 7 ай бұрын
Currying has long been in Python: functools.partial or functools.lru_cache
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
We already have function factories and class factories. What more do you need?
@georgplaz
@georgplaz 7 ай бұрын
as someone who learned programming with java, the new generics make me so happy 😊
@gautam-narula
@gautam-narula 6 ай бұрын
Getting ready for the next billionaire to be someone who made “don’t Java my Python” bumper stickers
@JohnFallot
@JohnFallot 7 ай бұрын
Let's gooooo!!!
@joshuaraciti
@joshuaraciti 6 ай бұрын
Can’t wait for Py 3.14
@plagosus
@plagosus 6 ай бұрын
I'll be waiting for 3.14
@cexploreful
@cexploreful 7 ай бұрын
Best reviewer 🎉 :)
@betterinbooks
@betterinbooks 7 ай бұрын
new way of creating types is a huge change.
@rasputunga
@rasputunga 7 ай бұрын
`batched` function is GOAT
@hglbrg
@hglbrg 6 ай бұрын
Finally a youtuber who knows how to pronounce et cetera properly. You deserve a like just for that.
@notplancha131
@notplancha131 5 ай бұрын
0:47 is (float, int) here mean that T will be a tuple, or will it be either a float or int?
@Jeyekomon
@Jeyekomon 6 ай бұрын
It would be awesome if you made a video about generic functions!
@lollol-ih7pb
@lollol-ih7pb 7 ай бұрын
Hey question how do u get this app like the same ui and stuff because i have to use windows terminal
@felixfourcolor
@felixfourcolor 6 ай бұрын
looks like vscode to me
@recoder706
@recoder706 6 ай бұрын
Looking forward to 3.14 version. I hope they gonna call it Pi-thon
@kareemmika6210
@kareemmika6210 7 ай бұрын
The new generic type syntax looks like GO. and i love it actually
@19DonCorleone87
@19DonCorleone87 7 ай бұрын
Thank you for the summary. It was super useful. The rating at the end of ever ysection feels kind of subjective and arbitrary.
@marcinpohl3264
@marcinpohl3264 7 ай бұрын
What about Linux perf support? I'd love to see a good example of it
@felixfourcolor
@felixfourcolor 7 ай бұрын
The generic typing is the best! I'm disappointed of the performance though. 3.11 vs 3.10 was a clear upgrade, while 3.12 barely changes, some programs run even slower.
@JellyFoxYT
@JellyFoxYT 7 ай бұрын
I don't really understand the type params section. Can someone explain it?
@k98killer
@k98killer 7 ай бұрын
I don't get why you would type hint kwargs that way instead of just type hinting the named kwargs after the "/, *," in the function signature, e.g. "def thing(self, /, *, kwarg1: int, kwarg2: str)"
@IamusTheFox
@IamusTheFox 6 ай бұрын
Wow, python has changed a lot. I learned 3.1 and haven't had a reason to keep in the last few years
@tomasbernardo5972
@tomasbernardo5972 6 ай бұрын
Can't wait for python 3.14, python π
@maxgtheone
@maxgtheone 7 ай бұрын
Missed a great opportunity to put the Twitter logo at 9:00 haha
@jadencorr6897
@jadencorr6897 7 ай бұрын
kwargs typing is useful for framework-like code. Because it is not obvious which parameters are accepted by **kwargs.
@carnap355
@carnap355 7 ай бұрын
What's "type variable"?
@MephistoDerPudel
@MephistoDerPudel 6 ай бұрын
Immortal objects may be useless to most projects, but for those, for which it is a problem, it may resolve a bit PITA.
@kirilplatonov4423
@kirilplatonov4423 7 ай бұрын
Batched finally here! I no longer have to produce weird magic tricks with iterator multiplication
@twentytwentyeight
@twentytwentyeight 7 ай бұрын
Feeling like the error message update has been a long time coming, wonder if rust launching with readable traceback added to the push
@SniperMayer
@SniperMayer 7 ай бұрын
I really hope 3.14 will be named Pithon
@danielgysi5729
@danielgysi5729 7 ай бұрын
I can't decide if a smaller update like this with less new syntax is refreshing or boring
@ivancota9762
@ivancota9762 6 ай бұрын
Can't wait for 3.14 - Python Pi 😊
@rutabega306
@rutabega306 7 ай бұрын
Yo the next version is 3.14 thats dope
@sajjadhossan7972
@sajjadhossan7972 7 ай бұрын
@minecraftermad
@minecraftermad 7 ай бұрын
Will it be renamed to pithon in 3.14?
@fieldtm1able
@fieldtm1able 6 ай бұрын
When can we get 3.14thon?
@fyellin
@fyellin 7 ай бұрын
Does immortality mean I can get rid of all the Py_INCREF(Py_None) that are in my code because I'm returning None from a function?
@Spencer-wc6ew
@Spencer-wc6ew 7 ай бұрын
Do you have to change the reference count for None anyway? I wrote a C python module a few years ago. And for numbers, I was told to not change the reference count when returning an integer from 0-255, because those are special objects that are never deallocated. It may be the same for None.
@fyellin
@fyellin 7 ай бұрын
@@Spencer-wc6ew If you use PyLong_FromLong(x), then you don't need to increment the reference count, because the object you've just received has had its count incremented. But you can definitely crash Python by calling a function that returns `Py_None` without incrementing it. Call sys.getrefcount(None), find None's refcount, and call your function that many times. I assume the same holds true for the small integers, True, False, etc if you save the Python object in a global and repeatedly return it, rather than calling a getter.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
I always set reference counts properly, for None as for everything else. I once wrote a test program that did nothing but decrement the refcount for Py_None until it crashed. I got up to about 512 decrements or so, maybe slightly more.
@dailynarative
@dailynarative 6 ай бұрын
im strugle to find pyaudio for this version of python3.12
@avasam06
@avasam06 6 ай бұрын
You mentionned setuptools. But not that *distutils* is completely removed from 3.12! setuptool still monkey-patches in its special vendored version. But that means if you never imported setuptools, then imports of distutils will fail.
@lukekurlandski7653
@lukekurlandski7653 7 ай бұрын
I love python type hints, but not gonna lie, without rigorous type checking, I’m skeptical whether this kind of “advanced” typing is actually useful…
@vivraan
@vivraan 7 ай бұрын
10:25 you forgot noexcept(noexcept(L)) lol
@RichardHamnett
@RichardHamnett 6 ай бұрын
Can't wait for 3.14 - then we'll have Piithon
@Balaji-qq9lc
@Balaji-qq9lc 6 ай бұрын
I really hope python will be called as Pie-thon when 3.14 is released
@DecimasoN
@DecimasoN 7 ай бұрын
3:14 you mention PEP 648 when it's PEP 684 :P
@BosonCollider
@BosonCollider 7 ай бұрын
Immortal objects would be a no-op in pypy. Refcounting is just inherently ugly if you care about performance at all. I wish that python3 had just dropped refcounting and used a proper GC in python.
@SourabhBhat
@SourabhBhat 7 ай бұрын
For me the new Generic syntax and @override is 10/10. The generic syntax would have made it easier for me to read though!
@FrederikSchumacher
@FrederikSchumacher 7 ай бұрын
You are aware that anything in Python is a generic? "def foo(bar)" means bar is generic (as is the return value). It's not untyped either, because of "object" being the base for all Python values? There's only limited amount of usefulness in something like "[X where Parent]" as documentation.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 7 ай бұрын
I think the C++ syntax was stupid. And it still doesn’t let C++ (or Java, for that matter) expression Python concepts like function factories and class factories.
@SourabhBhat
@SourabhBhat 7 ай бұрын
@@FrederikSchumacher Yes. Python is too generic, which doesn't allow to express the intent of the programmer. The generic specification is just a hint for IDEs to check the sanity of the code. For example, a class of type T, has methods that adhere to the same type T.
@therealjannis12
@therealjannis12 6 ай бұрын
Do they rename Python to PIthon at Version 3.14?
@Jake9066
@Jake9066 7 ай бұрын
Python 3.7? Was that the one that made me continue using 3.6 well into its "security updates only" stage?
@Gordonfreems
@Gordonfreems 7 ай бұрын
What about the cool new error messages
@secondengineer9814
@secondengineer9814 7 ай бұрын
It's wild how much static typing has been added to a dynamically typed language
@FrederikSchumacher
@FrederikSchumacher 7 ай бұрын
Fortunately, that stuff is still only "type annotations". Meaning, the interpreter, runtime and compiler doesn't do any checking beyond "must be valid Python expression". Which means you can do things like: def tricky_function(tricky_argument: "Beware of using dict[str, Movie] here, it breaks") -> "Mostly None, but List[Movie] on Sundays": pass And it's valid Python.
@my_master55
@my_master55 7 ай бұрын
My crazy mind though mathematicians just dropped a new Pi value 😭😂
@tuberroot1112
@tuberroot1112 7 ай бұрын
Can't wait for Python v 3.14159 running on Raspberry pi.
@rodrigof.5956
@rodrigof.5956 7 ай бұрын
Just two versions left
@Impatient_Ape
@Impatient_Ape 7 ай бұрын
"...and then you have to learn about category theory..." 😆
@nikhildaram3354
@nikhildaram3354 6 ай бұрын
Streamlit is not available in python 3.12
@bereck7735
@bereck7735 7 ай бұрын
Discord gang.
@JohnFallot
@JohnFallot 7 ай бұрын
ayyyy
Python's 5 Worst Features
19:44
Indently
Рет қаралды 66 М.
super/MRO, Python's most misunderstood feature.
21:07
mCoding
Рет қаралды 209 М.
Ауылға қайт! | АСАУ | 2 серия
33:16
Qarapaıym Qanal
Рет қаралды 1 МЛН
одни дома // EVA mash @TweetvilleCartoon
01:00
EVA mash
Рет қаралды 6 МЛН
python 3.12 was ALMOST javascript
9:32
anthonywritescode
Рет қаралды 55 М.
Bloom Filters
11:31
mCoding
Рет қаралды 52 М.
All 39 Python Keywords Explained
34:08
Indently
Рет қаралды 67 М.
How Fast can Python Parse 1 Billion Rows of Data?
16:31
Doug Mercer
Рет қаралды 136 М.
5 Good Python Habits
17:35
Indently
Рет қаралды 304 М.
Unlocking your CPU cores in Python (multiprocessing)
12:16
mCoding
Рет қаралды 288 М.
Python's collections.abc | InvertibleDict
14:00
mCoding
Рет қаралды 43 М.
__new__ vs __init__ in Python
10:50
mCoding
Рет қаралды 203 М.
It's time... for PYTHON 3.11!
8:10
mCoding
Рет қаралды 151 М.
The standard library now has all you need for advanced routing in Go.
13:52
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 374 М.
Рекламная уловка Apple 😏
0:59
Яблык
Рет қаралды 819 М.
Apple. 10 Интересных Фактов
24:26
Dameoz
Рет қаралды 62 М.
🤯Самая КРУТАЯ Функция #shorts
0:58
YOLODROID
Рет қаралды 3,6 МЛН