You Are Going To Like These New Features In Python 3.11

  Рет қаралды 160,683

ArjanCodes

ArjanCodes

Күн бұрын

Пікірлер: 209
@ArjanCodes
@ArjanCodes Жыл бұрын
👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis
@geoffseyon3264
@geoffseyon3264 2 жыл бұрын
I think the performance improvement is one of the most key benefits of Python version 3.11! I hope that this trend will continue in subsequent versions as people continue to compare python to more performant languages.
@PanduPoluan
@PanduPoluan 2 жыл бұрын
Microsoft has tasked -- and paid -- 2 Python Code Devs to speed up CPython. Mike Shannon and Guido van Rossum. And Mike outright stated that the target is 5x performance!! At such speed, the performance penalty of Python will be less and less important, and people will emphasize on Python's ease of use, or even the "compile-less" toolchain will be preferable!! And with a parallel effort to run Python in browsers (via Wasm), we might just be on the cusp of seeing Python as a first-class Front End language!
@JP-re3bc
@JP-re3bc 2 жыл бұрын
@@PanduPoluan CPython is not Python (anymore at least)
@PanduPoluan
@PanduPoluan 2 жыл бұрын
@@JP-re3bc The heck are you talking about? CPython is the reference implementation of Python, written in C. I think you're confusing it with Cython.
@MaycolTeles
@MaycolTeles 2 жыл бұрын
This new “Self” type is amazing! I had to explain the whole core of “__future__” and “annotations” for an intern a couple of days ago and I can’t even imagine how simple it would be with this type, even though what you said about classmethods are true
@equu497
@equu497 2 жыл бұрын
Just found your channel earlier this week and I am impressed by the quality of your videos! Keep doing what you do sir.
@twentytwentyeight
@twentytwentyeight 2 жыл бұрын
I watched your video all the way through and sent it to my colleague who is learning python too, and wihtin ten minutes I also got an email reminding me you had a new video out! Thanks a bunch Arjan! The absolute ONLY youtuber I look froward to getting emails from
@nck-d
@nck-d 2 жыл бұрын
Thanks
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thank you so much, glad you enjoyed the video!
@RR-rd1yr
@RR-rd1yr 2 жыл бұрын
Thanks bro finally someone who isn't posting malware or fake stuff, you deserve my subscribe!
@konstantinmykhailov6708
@konstantinmykhailov6708 2 жыл бұрын
Great video! Could you please also cover the new asyncio TaskGroups and the GroupErrors with the except* syntax? Thanks!
@jorgesilva932
@jorgesilva932 2 жыл бұрын
Great suggestion, I would also like to see a video about the new TaskGroups !
@aashayamballi
@aashayamballi 2 жыл бұрын
This speed improvement will definitely help in existing projects. (For example Django). Since classes variable initialisation all these being used extensively used in the existing frameworks and with this performance I believe definitely the frameworks performance is gonna improve too.. so for this reason I'm looking forward to use Python 3.11 Thanks Arjan for this informative video. 🙏🏽
@gustavomendez6279
@gustavomendez6279 2 жыл бұрын
Concise and understandable information. Aesthetically pleasing video. Good audio. Man, where has this channel been? Subbed.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks for subbing! :)
@transatlant1c
@transatlant1c 2 жыл бұрын
The first thing that sprang to mind re performance improvements is how that will eventually (hopefully) translate to lower bills for AWS lambda functions and equivalents, for those that make heavy use of python in that use case. Nice 👍
@idcarlos
@idcarlos 2 жыл бұрын
Right now only if you use docker containers. Python runtime is stuck at 3.9 for AWS Lambdas and 3.10 is one year old.
@ErikS-
@ErikS- 2 жыл бұрын
9:18 - The home of both Arjan and off course Guido, the creator of Python. Next, we will see Arjan start showing us "frikadel" and "kroketten".
@superscatboy
@superscatboy 2 жыл бұрын
I haven't written any python since 2.4, but I watch this channel religiously to keep myself in the loop. One of these days I'll want to use python again and what I learn here is going to make the process of catching up much less painful :)
@Gummibandet1
@Gummibandet1 2 жыл бұрын
You coulve showed how the add exception notes looks in the trace when running it
2 жыл бұрын
Guessing they're not showing at all. You can probably print then yourself though.
@HeadInstead
@HeadInstead 2 жыл бұрын
great video Arjan. you might want to add the link to the chess roast video 5:55
@mentefria98
@mentefria98 2 жыл бұрын
I love the way you explain things, very calmly and professionally, not as the nowadays kids that only know how to explain hello world with weird music in the background and make some shitty TikTok video. Thanks for being alive! Keep it going! You are doing a really good job.
@amandubey5287
@amandubey5287 2 жыл бұрын
This is just amazing I just updated my version and tested these what you just showed, Thanks
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks Aman, Glad it was helpful.
@pleggli
@pleggli 2 жыл бұрын
I so much wished that the error positions in tracebacks somehow would have used the more common line:column formatting that most compilers use. On scale the verbose 2 extra lines just adds unnecessary cost to logging unless you disable it.
@tomlightfoot6304
@tomlightfoot6304 2 жыл бұрын
In his piece class, what does the colon do in x: int or color: Color = Color.None? Ive never seen that before.
@jahshuah
@jahshuah 2 жыл бұрын
Totally not related to Python 3.11, but I love that sweatshirt-where’d you pick it up?
@thichuyen1597
@thichuyen1597 2 жыл бұрын
Worked smoothly, tysm
@hasanmahmud2016
@hasanmahmud2016 2 жыл бұрын
Works good, tnx
@AbdulBasit-ib6by
@AbdulBasit-ib6by Жыл бұрын
I love the feature in 3.11 where its give you precisely where the the actually error.
@udianilbey
@udianilbey 2 жыл бұрын
Self type isn't introduced for renaming, it's introduced to type annotate methods of inherited classes.
@szjtk
@szjtk 2 жыл бұрын
that was exactly what I needed , thank you so much
@Mr1995Musicman
@Mr1995Musicman 2 жыл бұрын
Oh, I also use the StrEnum pattern myself as well, but I'm never quite satisfied that I'm not screwing it up somehow. Great to see that built in
@astronemir
@astronemir 2 жыл бұрын
I always use this
@erastfandorin279
@erastfandorin279 2 жыл бұрын
Hey Arjan, I think that in your first example of performance boost in python3.11 you are misinterpreting actual speed boost to 50% as it usually happens with this counter intuitive thing. TL;DR u have 0.095 sec/code and 0.053 sec/code. Then in 1 sec you achieve about ~10 and ~18 codes done which actually is an 80-90% speed boost.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
You’re right - that’s a good point. And it demonstrates the performance improvements even more clearly.
@nivimani
@nivimani 2 жыл бұрын
this is subjective - the new performance can be seen as 50% faster in comparison to the old performance, but the old performance can be seen as 90% slower in comparison to the new performance.
@russianbotfarm3036
@russianbotfarm3036 Жыл бұрын
@@nivimani But that’s not subjective.
@nivimani
@nivimani Жыл бұрын
@@russianbotfarm3036 you're right. i meant something like, it depends on someone's preferred point of view.
@mahdi7d1rostami
@mahdi7d1rostami 2 жыл бұрын
taking enjoyment in writing complicated one-liners just for fun I didn't had any way of debugging or figuring out how can I fix them when they didn't work. Now with new trackbacks it would be easier.
@mayorc
@mayorc 2 жыл бұрын
At 5:25 how did you add those unicode symbols easily?
@marianarodriguez599
@marianarodriguez599 2 жыл бұрын
Hey! Thanks so much for this video!
@russianbotfarm3036
@russianbotfarm3036 Жыл бұрын
> StrEnum saves typing > proceeds to type about the same as the old names = auto() is ugly boilerplate, but it does reduce the chance you’ll misspell the particular enums. They should have done it as a context, EnumDefiner or something.
@Darakon
@Darakon 2 жыл бұрын
Love your stuff dude. Thanks.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks, happy you’re enjoying the content!
@lastk1ng201
@lastk1ng201 2 жыл бұрын
That was great. Thank you.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks so much, glad the content is helpful!
@benc7910
@benc7910 2 жыл бұрын
Which color theme is this in ?
@havenisse2009
@havenisse2009 2 жыл бұрын
So we now know the next versions of python will be 95, 98 and se.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Haha, good one!
@willemvdk4886
@willemvdk4886 2 жыл бұрын
Somehow "version 3.11" has a very nostalgic ring to it.
@YourCRTube
@YourCRTube 2 жыл бұрын
Only if you are old
@haleynaga5671
@haleynaga5671 2 жыл бұрын
i like your thumbnail of actually excited for something whereas others people's thumbnail goes something like "you should not be developer" or "you maybe not a data science to be at all" so its good to see fresh new face
@chesshooligan1282
@chesshooligan1282 2 жыл бұрын
When the execution time halves, it means the speed has doubled. That's a 100% performance improvement, not a 50% performance improvement.
@lorlgd
@lorlgd 2 жыл бұрын
I've been waiting for this version after Guido's presentation ( you can Google the presentation, I believe it's under his GH). I need to benchmark my scripts' performance and see the improvement. Thanks for sharing
@michalkorsak9726
@michalkorsak9726 2 жыл бұрын
Wow! it's Amazing I did it well ! Perfect work !
@CynicAtLarge
@CynicAtLarge 2 жыл бұрын
With toml support do your recommend using this instead of hydra with yaml files for configuration?
@ErhoSen
@ErhoSen 2 жыл бұрын
Thank you Arjan! Always promote your videos between colleges (win-win)
@anaselhassani2545
@anaselhassani2545 2 жыл бұрын
THANK YOU SO MUCH FOR THIS VIDEO
@BrianStDenis-pj1tq
@BrianStDenis-pj1tq 2 жыл бұрын
So good, thanks Arjan.
@StalkedByLosers
@StalkedByLosers 2 жыл бұрын
What is the benefit of toml ove ini files? The structure looks the same. Just import configparser....
@dvdspndl
@dvdspndl 2 жыл бұрын
Awesome video, thank you. The example of faster 3.11 that demonstrates it using class get-set-delete in 8:25 is about the same speed as what you'd gain with __slots__ on 3.10, and it looks like slots are no longer faster in 3.11. Do you know what happened there?
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks David! When I run a test with Python 3.11 and compare slots vs no slots, I still get a 20% speed improvement when using slots (comparing the median execution time). So it seems that even in Python 3.11, using slots is still quite a bit faster.
@dvdspndl
@dvdspndl 2 жыл бұрын
@@ArjanCodes Thank you for the reply. Interesting, I checked again and you are probably right, there's still a difference, although it seems much smaller than what I had in python3.10.
@darrylbaker5271
@darrylbaker5271 2 жыл бұрын
Clearly explained, I understood, and I'm not a Python user but will be soon
@bartdebruijn4599
@bartdebruijn4599 2 жыл бұрын
Good vid!
@martynhale4053
@martynhale4053 2 жыл бұрын
Great video - I enjoy the content, you do a great job of it.
@Ponder_AI
@Ponder_AI 2 жыл бұрын
Looks great!
@scraps7624
@scraps7624 2 жыл бұрын
This is the top channel for anything python, great video as always
@chrisfahie2767
@chrisfahie2767 2 жыл бұрын
Thanks it helped me install it
@rockNbrain
@rockNbrain Жыл бұрын
WAITING FOR 3.12 VERSION, TKS!
@abdelghafourfid8216
@abdelghafourfid8216 2 жыл бұрын
Do Self type also dynamicaly change if I use a subclass ?
@akshattamrakar9071
@akshattamrakar9071 2 жыл бұрын
Those performance improvements are crisp
@adrienc8716
@adrienc8716 Жыл бұрын
Is it possible to read an xml file with tomlib ?
@edwinolvera2731
@edwinolvera2731 2 жыл бұрын
Thanks so much
@StickOnLSD
@StickOnLSD 2 жыл бұрын
Hey Arjan, can you please make a tutorial about logging? thanks!
@astronemir
@astronemir 2 жыл бұрын
Can you do a video on Type annotations for Pandas and the new 3.11 Generics changes?
@tadastadux
@tadastadux 2 жыл бұрын
I like your content and the jumper!
@Rana-yc6yt
@Rana-yc6yt 2 жыл бұрын
You are awesome 👌
@mcfahr3655
@mcfahr3655 2 жыл бұрын
Thank you!
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks so much, glad the content is helpful!
@carlosrivadulla8903
@carlosrivadulla8903 2 жыл бұрын
what do u think of carbon?
@MichaelRonnfeldt
@MichaelRonnfeldt 2 жыл бұрын
Those are some nice performance improvements.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks Michael, happy you’re enjoying the content!
@barbaralemagac2333
@barbaralemagac2333 2 жыл бұрын
thanks helpful vid
@Yotanido
@Yotanido 2 жыл бұрын
I see a lot of influences from rust in this. I like it a lot. Soooo... algebraic data types when? It's honestly the feature I miss by far the most in python.
@JP-re3bc
@JP-re3bc 2 жыл бұрын
Does it remain slooooow? Most of this new bloatware will only make it even slower.
@incremental_failure
@incremental_failure 2 жыл бұрын
3.10 was really cool feature wise but 3.11 doesn't add anything I depend on. The speed improvements are awesome though, they're going in the right direction.
@rusektor
@rusektor 2 жыл бұрын
LiteralString didn't work for me. I tried the example from documentation - and it didn't work.
@janetdashevsky495
@janetdashevsky495 2 жыл бұрын
Hi, Can you please share the source of the hoodie? My husband really wants one :)
@matthewlandry1352
@matthewlandry1352 2 жыл бұрын
Nice video so I clicked subscribe 🎉
@edgeeffect
@edgeeffect 2 жыл бұрын
It's cool to get a definitively correct pronunciation for "Edsger Dijkstra" after all these years.
@Rebeljah
@Rebeljah 2 жыл бұрын
Almost here!
@__gavin__
@__gavin__ 2 жыл бұрын
9:00 actually that would be nearly a 100% improvement (half the time is twice as fast).
@Blooddarkstar
@Blooddarkstar 2 жыл бұрын
I find your videos extremely helpful and well executed. You should do a full coursera / udemy course on "coding well". By that I mean content focusing on the design of code and the aspect of problem solving before you even write a line of code. You do this in the videos here on youtube as well, but a full-blown structured course would be awesome. I have seen so many Intro to Programming / python courses which do not focus on the importance of structuring your code.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Glad you like the content! There is a course actually if you’re interested: www.arjancodes.com/mindset.
@AnthonySherritt
@AnthonySherritt 2 жыл бұрын
How big are the pulls on your hoodie?!
@cont8155
@cont8155 2 жыл бұрын
Galaxy size pulls for galaxy size hoodie for galaxy size brain 🤯
@ArjanCodes
@ArjanCodes 2 жыл бұрын
I’m compensating.
@AnthonySherritt
@AnthonySherritt 2 жыл бұрын
@@ArjanCodes 🤣 for being so brilliant?
@nck-d
@nck-d 2 жыл бұрын
@@ArjanCodes 😂😂😂
@6rusT
@6rusT 2 жыл бұрын
those pulls are like karate belts
@pillmuncher67
@pillmuncher67 2 жыл бұрын
I'm so glad they finally put Tail Call Elimination in CPython!... Oh....wait...
@daverangie
@daverangie 2 жыл бұрын
What would performance it be like compared to 3.7
@miguelvasquez9849
@miguelvasquez9849 2 жыл бұрын
in StrEnum it automatically lowercase?
@lucaspetersen5074
@lucaspetersen5074 2 жыл бұрын
yes
@MrGeometres
@MrGeometres 2 жыл бұрын
Almost here, but as per tradition you'll have to wait 6 months until all the packages you need support it.
@avalagum7957
@avalagum7957 2 жыл бұрын
Is it possible to have a portable Python, i.e. no need to install, just download 1 single file and put it in the PATH?
@astronemir
@astronemir 2 жыл бұрын
Almost here 🎉
2 жыл бұрын
Ive always wondered why exceptions in python don't have more info. Coming from the java world it felt a bit weak.
@rogertunnell5764
@rogertunnell5764 2 жыл бұрын
Interesting take. I've always found exceptions in Java to be far more cryptic. Granted most of my work in Java has been heavily dependent on libraries, so maybe the library authors are more to blame than the exception handling.
@originalmianos
@originalmianos 2 жыл бұрын
Funny for me, leaving C++ for python many years ago due to the ridiculous cycle of adding functionality just so the C++ committees can show off every year and now these same people are following me. :(
@gnitsaf
@gnitsaf 2 жыл бұрын
toml config files... so like rust? That's pretty sweet
@snoopyjc
@snoopyjc 2 жыл бұрын
I love how your outfit spells “11” :-)
@frozeneye100
@frozeneye100 2 жыл бұрын
Lol. Nice feature of python. I am still trying to learn and just think f strings are awesome. Just think I am wrapping my head around stuff and then the f bomb ohh SQL injection so we do different now. I will not french "f string" but yeah f bombs is like a pun intended. Nice video. But yeah, programming languages like Linux is just a rabbit hole without end. Poor me being newb. But will get there. But as always. Nice good video with not all info but it does allow good topics for research. That I think is a very good point. Not giving do like this but making clear here is how you can. And that is worth a lot. That is key to education I think. Not giving answers but give enough in way to make it useful but also there is work to be done and learn
@jccorman5848
@jccorman5848 Жыл бұрын
I find your content quite engaging, but it is way too advanced for me. I am new to Python and don't come from a CS background. What book or resources would you consider to be to your standards, to get a newbie like me in the correct path for solid python coding. (I don't think the Python documentation is really for beginners)
@sotmrus
@sotmrus 2 жыл бұрын
This video clip has some parts where video and audio are unsynchronized.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Thanks for noticing. We will work on it.
@-mwolf
@-mwolf 2 жыл бұрын
bruh haha 3.11 is so nice I remember using hacks to implement all these things like StrEnum and so on myself. Also i think with 3.11 there should be shape hinting for np arrays or tensors which is a game changer in ds / ml.
@rogertunnell5764
@rogertunnell5764 2 жыл бұрын
I saw a proposal for this the other day, though I'm not sure if it made it into 3.11
@theultimatereductionist7592
@theultimatereductionist7592 2 жыл бұрын
the reason I hate hate hate computer programming is that absolutely nothing any of millions of online tutorials or videos can help me do the specific thing *I* need the computer to do: computer differential algebra.
@__sassan__
@__sassan__ 2 жыл бұрын
What’s the difference between Type[Self] and Self?
@dunkyl
@dunkyl 2 жыл бұрын
Self is an instance, Type[Self] is the type of the class you're in. The example is on a class method, whose first parameter is different from the normal method with a self parameter
@__sassan__
@__sassan__ 2 жыл бұрын
So the fact that that’s a class method necessitates the use of Type[Self], am I right? When would I use Type[] otherwise?
@dunkyl
@dunkyl 2 жыл бұрын
@@__sassan__ Type[blah] is useful also for class decorators, factories, and reflection
@fullstackspiderman
@fullstackspiderman 2 жыл бұрын
packages like psycopg2 and greenlet are failing in python 3.11
@udovyk
@udovyk 2 жыл бұрын
Python 3.11 almost here and AWS Lambda still didn't implement v3.10 runtime :)
@ArjanCodes
@ArjanCodes 2 жыл бұрын
They might be stuck on the current stable version of Debian, which has Python 3.9.
@ingframin
@ingframin 2 жыл бұрын
Honestly, I cannot wait to get this new version.
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Only a few days now.
@ewerybody
@ewerybody 2 жыл бұрын
honestly? release candidate 2 is available for download on the official website
@thisoldproperty
@thisoldproperty 2 жыл бұрын
I implement Python in Azure Functions, which maxes out currently at 3.9 :(
@Casimistico
@Casimistico 2 жыл бұрын
Best tutorials ever
@AlexGb007
@AlexGb007 2 жыл бұрын
So all I have to do to becoming a great computer scientist is moving to the Netherlands! Got it!
@ArjanCodes
@ArjanCodes 2 жыл бұрын
Exactly! Though the problem is that once you're here, you'll be surrounded by great computer scientists who are going to continuously point out any minor thing you're doing wrong. It's like real-life Reddit :).
@AlexGb007
@AlexGb007 2 жыл бұрын
@@ArjanCodes 🤣🤣🤣. I love your sense of humor 😂😂
@bigutubefan2738
@bigutubefan2738 2 жыл бұрын
You're sounding bassy Arjan, have you got a sore throat or a new mic?
@ArjanCodes
@ArjanCodes 2 жыл бұрын
I’m experimenting with the audio at the moment - I’m not yet completely happy with how everything sounds so I’m tweaking a couple of things in the upcoming videos to try and improve things.
@bigutubefan2738
@bigutubefan2738 2 жыл бұрын
No problem. Glad you're well presumably!
@parkercrofts6210
@parkercrofts6210 2 жыл бұрын
ur a fcking legend dude honestly
The Ultimate Guide to Writing Functions
24:31
ArjanCodes
Рет қаралды 187 М.
5 Reasons Why You Should Use Type Hints In Python
13:54
ArjanCodes
Рет қаралды 109 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Python 3.12 is HERE!
12:37
mCoding
Рет қаралды 158 М.
If You’re Not Using Python DATA CLASSES Yet, You Should 🚀
10:55
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 410 М.
It's time... for PYTHON 3.11!
8:10
mCoding
Рет қаралды 152 М.
How To Easily Do Asynchronous Programming With Asyncio In Python
23:09
All Rust string types explained
22:13
Let's Get Rusty
Рет қаралды 192 М.
Avoid These BAD Practices in Python OOP
24:42
ArjanCodes
Рет қаралды 81 М.
You Can Do Really Cool Things With Functions In Python
19:47
ArjanCodes
Рет қаралды 226 М.