What Does It Take To Be An Expert At Python?
Vložit
- čas přidán 20. 08. 2024
- If you want to become an expert in Python, you should definitely watch this PyData talk from James Powell.
EVENT: PyData, 2017
SPEAKER: James Powell
PERMISSIONS: Coding Tech received permissions from the Organizer to republish this video.
ORIGINAL SOURCE: • James Powell: So you w...
****
INTERESTED IN THE STOCK MARKET?
I developed a profitable trading model that generates high probability BUY & SELL signals on S&P500. To learn about it, visit yuriymatso.com...
metaclasses: 18:50
metaclasses(explained): 40:40
decorator: 45:20
generator: 1:04:30
context manager: 1:22:37
summary: 1:40:00
thanks
His logical progression of how decorators came about is nice.
you forgot to mention the part when he created a ass 5:50
You forgot czcams.com/video/7lmCu8wz8ro/video.html
Saitama you know Python too?
The first man to wear a suit to a python conference.
because i am so seriously an expert wuuuuuu :) don't under estimate me situation..
James has a dedication to certain style. Good dude.
The guy is a Wall Street quant
cmon :) hes a good fella
You didn't notice the big Microsoft logo on the podium? Microsoft is all up for python, R and Machine Learning these days
Was shocked when the camera panned out to reveal only a handful of people in the room. The quality of this presentation deserves a larger audience!
Is 450,000 enough of an audience?
Fast approaching a million, lol
@@tbtitans21 almost 1 million views now! :D
1 million views. Are you not entertained?
Indeed
the guy is the perfect teacher
methodical, precise, clear and direct to the point
i feel like i learn a 3 months worth in classes, in just 1 video
I wouldn't put a check mark in the concise column, but I agree on all other points.
Over the last year, I have rewatched this video 5 times to capture the full depth of information.
@@chaugen1 Yeh, I was just thinking I have to re-watch this at least once :P
@OuaishBolosse I think it is because of the time he had to cover all that in the presentation, I couldn't be happier I stumbled with this video, you can just rewatch this until it is clear enough.
@OuaishBolosse it’s a presentation lol he has to go fast to fit everything in the time frame
I remember OOP seeming intimidating until someone explained it in one simple phrase: OOP is giving data behavior. Instead passing data through functions, we can simply ask the data to tell us something about itself or do something to itself.
I don't even know anything about python, I code javascript. Still watched the entire thing cuz it sounded like I would gain brain cells by watching. 10/10
i love js but python is immensely more fun to learn/develop in. get into it and thank me later.
@Peter Mortensen what type of linker you are?
@Peter Mortensen just use "os.path.join" ffs
In the same boat mate. Been a Node developer for five years and just started learning Python. Thought of watching the video for two minutes just for fun and got hooked till the end within no time.
This guy is an exceptionally good orator. What a treat to listen to!
This is one of the best python movies I've ever watched!
Snakes in Panes!
Even monty python.
😂👍🏽
"You're***** right" - Heisenberg
😂😂😂
James Powell teaches how I love to be taught. Bottom up, first principles. It strips away all the magic. Awesome, awesome talk!
Finally, find this video! Two years ago, I landed a python job literally just after watching this. James Powell's talk inspired me to become an IT professional, I can never thank you more than enough!
i'm a noob in python and many things in this video are above what i know,but i can't stop watching anyway.
It's 2019, now these things are maybe obvious to you?
Yes
U still noob?
gotta love the fact that the dude is a an MS conference delivering a talk on python using a linux distro, uses google chrome and Duck Duck go and not a single MS service or product in sight...
Makes you wonder why MS even bother having their own damn search engine or browser at this point.
Just because it's not a success doesn't mean it wasn't worth trying.
the fact that he uses chrome is that sort of a setup is weird in and of itself. It's probably the only thing that isn't fully open source.
He using Chromium, which is fully open-source version of Chrome.
tbh even MS employees aren't required (or culturally pushed towards) searching with bing or using edge or windows. Most devs don't care about platform these days. Some use a mac at work. Most devs that care are probably free to use linux - it IS the academic choice OS. And all these CS grads they hire come from 4 years of being used to linux
Coz Windows was designed for users, not for developers
This is a definite PLUS! The information and instructions from this talk should be implemented in every tutorial/lecture given about Python. The concepts of the language have never been as clear as he explains.Great!
it really amazes me when people like him can be eloquent in speaking at the same time very articulate in explaining his code and coding it live.
What an awesome teacher. Everything I've seen from him is gold.
This guy really made me want to give up atom and use vim. I bet he picks up girls at bars with his sexy vim skills.
Edit: it's just a joke guys. Don't be butthurt.
Hey girl you want to come over and "esc + i" ?
His vim skills are not that good actually, why would you do :vsplit manually? ctrl+w+v...
@David Flanagan Which talk?
@David Flanagan hi
@@bluetape66 search "james powell generators" you'll find it
What a fantastic presentation! It motivates me to get out of my forever intermediate python skills.
Great presentation packed with high quality information. It certainly expanded my understanding of Python.
Shame the audience wasn't more engaged.
I love watching a vim master at work. Simply beautiful.
The speed at which he was typing and using shortcuts seamlessly was just mindblowing. It took me probably half the talk just to not be mesmerized by it.
It wasn't any fancy shortcuts: just the basic day to day vim ones. If you use vim as a main editor for a while, you'll be using them without thinking (even by accident outside of vim).
Sicarius Noctis Oh, I know. Just the learning curve though. It’s so high compared to something like Sublime. Don’t get me wrong, using Sublime as my main editor has shown me it can be just as powerful, if not more, because of the UI. I just have yet to memorize all of the useful key bindings
Nelson Earle I'm faster. Much faster.
Well that's really good and cool. I'm glad you could add to the conversation.
*What I don't understand is how people in these comments are so focused on how "rude" he is or how his voice sounds. He has knowledge to give and concepts to teach. Learn what you can and leave his expression out of it. I guess it is my fault for being curious about the comments in the first place.*
I'm sure you've moved on to a different username, but I'll explain it for you. A great teacher allows his or her students to absorb information without the information being drowned out by things like language barrier, tone, gestures. It's very difficult to listen to the guy because his demeanor is so poor. He comes off as a jerk which, unsurprisingly, resulted in little participation from the audience. I'm willing to bet a number of folks in that crowd talked about what a jackwagon he was,once the presentation was over.
In order to follow along you have to have a basic understanding of OOP. Otherwise you might just save this vid to watch it later when you already know some basic OOP.
Good presentation tho. Thanks
4:40 shows why James Powell is such a great speaker: nearly all speakers who do this kinds of surveys before the talk do not change the talk depending of the outcome of the attendees answers.
James Powell does. He quickly decided (and is able) to adjust the topics a bit in order to give the audience the maximal value he can provide.
4 years later and I have to say that this guy is really good! Thanks for this!
God damn this guy knows his stuff.
Honestly, I'm even more impressed by his ninja editor skills than his coding skills.
@Name type *S1 ... S9* for superscript letters.
Also you can type *s1 ... s9* for subscript digits.
That is a digraph. You can view the available ones with :digraphs along with the keys to enter after pressing in insert mode. Alternatively, you can make an abbreviation like `:abbr xsq x[ + hex value for unicode character]`, and even put that in your vimrc so that you can just type "xsq " and get "x²".
lmao
He uses vim like ringing a bell and got the high school stuff in swap memory... A black belt!
They are degree _two_ polynomials.
Yeah he didnt use len(poly.args)-1
Glad someone else noticed :)
That triggered my OCD
OMG was looking for that comment ty
You people are geniuses
This is incredible not because it dumps a bunch of technical lingo and just leaves but because it makes you think about how you can use these higher levels concepts in designing and enhancing good software. Awesome work!
This is one of the highest quality talks I've ever seen. The presenter is clearly an expert, which stands for "the person who has made most mistakes than everybody else". Fantastic programming, presenting and vim skills. ;)
Raymond Heitegger also has very good talks.
I've watched all of this, I can confidently say that I understood nothing.
All I know is that I'm willing to work to reach this level.
One year later, how are you doing?
Not even the first part?
You can just try it out in the REPL. TL:DR Metaclasses and decorators sort of run at "compile" time allowing Python to do static analysis sort of like a type system, but using the entire language. *args, and **kwargs allow you to have functions with arbitrary number of arguments. Generators are like custom for loops (which is a co-routine a function that returns mulitple times instead once), which you write with yield and context managers/decorator are just a special version of generators which build a wrapper around functions with stuff that happens before and stuff that happens after wards. You can merge decorators and context managers with @contextmanager.
2 years passed. How are you doing?
I watched this 3 years ago, I understood nothing but stayed until the end of the video making some questions in a notepad. After 3 years I have answered them all and came back to this video to notice I have overcome my dumbness
5:51 I smirked. Clearly, I'll never grow up.
This talk is gold, simply for highlighting how to write code that protects itself from potential errors found in imported code/modules.
Superb talk. I watched the whole thing in one sitting and it felt like it all took 20 minutes.
He said "len is 3 -> degree 3 polynomial" _ Actually since he is dealing with squares, it is called a degree 2 polynomial.
he is a coder I guess, not a math guy, mistake spotted too
You caught a master making a silly mistake. Your comment contributes nothing to his expert explanation of this complicated subject and even your assertion that the polynomial's "len" is "actually" degree 2 demonstrates a high-school level understanding of the magnitude of a polynomial.
I stopped the video to see if anyone noticed, I have already started to question all I knew about polynomial.
Title:what does it take to become expert at python?
Thanos:Everything
fax
I really liked this content because it doesn't just explain how these advanced techniques work (metaclasses, decorators, generators).. it actually helps you think through scenarios about where they should be used and why.
When I have watched the video 5 years ago - I learned a lot. Watched the video again today - learned a lot. James, thank you!
Uses a vi based editor for live presentation at a conference while wearing a suite. That's one aplha male RIGHT THERE!
Sure Sajib Acharya, you would like to think you are an "aplha male" buddy. :P #LordDust
5:50 that moment when you type ass instead of class in front of an audience.
hhhhhhhhahahahhahaha you're an evil.
the reason was that vim was not in insert mode when he type c
@@betsegawlemmaamersho1638 I thought same
😂😂😂😂😂😂
No he did it on purpose
The way how he talks without any eeehm, uuum - crisp and clear talking. And the way how fast he uses vim. Thats a real pro!
I'm still wondering if his python skills beats his VIM skills or vice versa !! But thumbs up for the excellent vid.
The moment he wrote x superscript 2 in vim I knew I'm in for some goodies.
I love that the first thing he wrote was "ass" instead of "class" :P
I know next to nothing about Python but I cannot wait to watch this again when I am further along in my studies. Very engaging speaker.
I very rarely comment on youtube ,
but this guy is a freaking ninja.
one of the best talks on youtube.
the best on python in my opinion
This is my favorite python speech on youtube. Very well done
"No context where you need decorators deeper than this"
Wait till Christopher Nolan learns about this
haha!
@deeper(must)(go)(DEEPER)(DEEEPERRR)(DEEEEEPEERRRRRRRRR)
🔥
I was thinking the same while watching it.
I have no idea what is going on in this video but would love to know what your comment means. Please explain!!!
The order of polynomial is len(self.coeffs)-1. For example, 2x^2+x+1 has 3 coefficients (2,1,1) and its order is 2 (x^2).
I enjoy Powell's talks a lot, I always learn a ton from his teaching and it actually sticks.
Oh shit! I know this guy, he's at NYC Python Meetup
OK, I am confused... Where is the 15 minute intro on *HOW WE'LL BE USING VISUAL STUDIO?*
I love the way this is presented; focusing on the overarching concepts rather than getting bogged down in minutiae is so much more useful for talks like this. We can lookup the specifics on our own time
Exploring __call__ with the Polynomial class.
There is a canonical function associated with a polynomial object: the polynomial function.
If p2 = Polynomial(3,4,3)
then p2(5) should return 3(5^2) + 4(5^1) + 3(5^0).
A quibble. I love the talk so far!
This was an amazing speech with very valuable content. Thank you for sharing it.
That whole __add__ thing at the beginning is what I've been looking for for the past two months and never found until this video which I didn't even mean to watch. Now I can add custom matrices with just a plus xD
The real question is, why are you using custom matrices instead of numpy? ;-)
Great to see a tech presentation by someone with presentation skills! i.e. clear, confident voice, organised etc
As a beginner , this presentation motivates me to learn these features and core ideas, to step up my game and move to the next level
Are you sure that you understood it as a beginner ?
not sure if I am more amazed with his python or vim skills
His Vim skills are nothing to be amazed with. I've been using Vim for 6 months and am far better in it albeit he is a faster typist than I am. His knowledge of Python truly exceptional in my opinion.
His vim power is average young padawan...
"I can tell you that what it takes to be effective at python is pretty straight forward...".
Proceeds into a 2 hour talk.
I mean, if all you need to be more then just 'effective' is basics + a 2 hour talk, that's amazing. Most often this sort of learning material simply doesn't exist.
Haha yea, I put this video on my watch later. Gonna came back when I'm expert at python, brb several years.
TBH 2 hours aint shit compared to at least 10 hours you must put into something like Dark Souls! shit as much as i know i have spent at least 2000 hours on that damn game!
hahaha
I wish I could Laugh Out Loud
I learned so much from this guy!! He is very informative. Most teacher teach you how to write code, but this guy teach you the most important question when learning codes ... 'Why'. You can know how to write codes, but if you dont know why you are writing them,then you are not learning.
to be an expert at python, simply start a project that you work on everday for more than a year. That worked for me.
Holy sh*t he is good at teaching
Shit! It's shit. FFS!
No he isn't. He is good at what he does, but very bad at teaching.
This dude has no idea what empathy even means. Disgusting sociopath.
wut
Skycoca Well people have different learning styles. To me this is honestly one of the best lectures I have seen on this channel. But I understand he can be kinda of an ass and if you want someone nice as a teacher this isn’t the guy.
@@skycocaster I agree completely. He's great at showing off his vi/m skills and his Python knowledge, but he has no ability to relate to others.
Don't get mistaken / taken aback by his aggressive stance. It's a very important piece of information for python developers that he covers very meticulously and methodically. A very high rated content. Give it some time and follow along.
Started thinking I'd hate this seminar, ended loving it all. Thnx for the upload
The generator API example was exceptionally helpful. It was the perfect way to explain the coroutine pattern.
Am I the only one who has absolutely no clue what's going on?
nothing wrong with that, no one knows everything from birth, if you don't get what's going on, just step back and come back later, eat some basic python tutorials and you will remember this video at some point
Don't worry, keep learning and reading code. Get back to this video in a month or so ; then, you will better understand the benefits of this combinaison of pythonisms. ;-)
James: "asks a question." Microsoft employees: "........" I don't think your alone!
I also have no clue whats going on. But everything he says sounds cool... and believable.
I just started learning about python basics and I have no idea what he is talking about. Maybe I need to come back here after I learn more basics👀
19:21 "When, in reality, this is really just a talk about Python Metaclasses"
Yes at 14:40 there is a mistake. The degree of a polynomial has nothing to do with coefficients. It’s the highest power of a polynomial. This is not used in his functions so they aren’t represented.p1 and p2 are both degree 2 because that’s what he chose to represent. He could have also added a power with each coefficient. Like ax^d+bx^e+c, a,b & c are coefficients and d & e are exponent powers. There are so many different things that could be done.
This talk is remarkable! Great point about conceptual understanding, and excellent flow throughout the presentation, with clever hooks. I really enjoyed it!
Who else calls 'ls' after going into a new created directory?
(1:22:36)
I guess everybody, that's why file browsers were created.
I rather prefer: $ echo "function cd { builtin cd "$@"; ls -thor; }" >> .bashrc
MphoMphego clever!
Thank you sir
For more tips and tricks, checkout my blog: blog.mphomphego.co.za
Carl I call pwd just to double check
those are second not third degree polynomials? the degree is the highest power to which a term is raised
Right.
It returns the number of polynomial degrees, not the number of the highest degree. So in this case there are 3 degrees, the 0th, 1st and 2nd degree.
Edit: Remember, it,s the len function he is demonstrating. It makes sense that it would return the number of different degrees, not the order of the highest degree.
Should be `return len(self.coefs) - 1`
The degree of polynomial is the highest power of the polynomial. This will only work, if you assume that the user will behave nicely and for polynomial of degree 27 (x^27 + 1) he will write the full vector: [1, 0, 0, ..., 1].
Oh yeah you're right. The way he wrote it though, you would have to give it zeros for all the missing terms.
I still consider myself a Python newbie especially after seeing speakers like David Murray, Raymond Hettinger, Yuri Selivanov and James Powell and though I first started learning C before I got into Python, Python is the first language that I actually "learned," so I feel like I have a big head when I see videos like this where they talk about metaclasses and decorators but to _me_, it makes perfect sense because I already get the concept of "everything is an object."
lol :)
Nice summary. However, at the very end of the metaclass comment he could have mentioned that in the standard there is a metaclass that does exactly that - abc, abstract base class.
I watched this video my first month when I was learning how to program. After 6 months I got stuck using the same basic things. I'll come back in 6 more months to see if I use this stuff now that I know WHEN to use it.
Its been 6 months!
@@dronephone9934 just rewatched the entire thing and I understand everything besides Meta Classes. I think I might finally ready to apply for jobs in python. I wish he would a section have had async await syntax, don't quite understand how it's not a generator. I've been doing nothing but projects so it's nice to see that I've learnt stuff lol
@@StevenSmith68828 Metaclasses are similar to class decorators. They control the creation of a class, but they are run at "compile time" (before everything else).
The first time I heard the language "protocol oriented" being used was in reference to Swift. I'm not a greybeard but I've been using Python for almost a decade, and was previously aware of dunder methods but never once heard anyone call it a protocol oriented practice. Is this just to kinda kick Swift in the ass a little or have I just had selective reading skills for the last 9 years, lol
If you look closely at Swift, you can clearly see that Apple had a good look at Python.
I revisit this great talk regularly to refresh my Python knowledge!
He is an amazing speaker. So smooth and just confident
How to be an expert at anything
1. Say that you are
2. Confuse everybody
3. Make money
man you are a genius
how come you think it's everybody when it's just you most likely ?
Not every human being is at your level of impotance Cedric Coulombe.
Big fact
Ahh, I see you're a man of culture as well.
This is a great talk! Thanks for uploading.
This was the best to-the-point description of decorators I've ever seen.
Coding Tech
Published on 2 Aug 2017
If you want to become an expert in Python, you should definitely watch this PyData talk from James Powell.
😏 There is a certain sleekness with someone in a suit writing code 😎
I just started coding a month ago... this is so out my league what am I doing here
First day researching python to prepare for college courses, brain drain started happening about halfway through.
hello are you a god at it now?
@@tiran315 yes
I'm nowhere near ready for this yet but this guy is a treat to listen. Great presentation.
The bit with the decorator and the response to the guy in the audience looked so cool.
this is an amazing work! but it would be better if the screen was bigger.
This guy is nuts! In a good way.
30 minutes into this so far and already learning so much. Excellent!
I haven't watched a video with an equal high ratio of noise to signal about Python before. Congrats.
He walked into a room filled with Microsoft engineers and proceeded to drop knowledge bombs for nearly 2 hours while winging his presentation in vim.
BGivo not really
5:49 "I wanna create a class"
*Types in "ass"*
Cro XV thank you! I was looking through the comments to see if anyone else noticed. I was starting to think I was the only immature one watching this...
Obviously Vim wasn't in insert mode when he started typing.
PewDiePie coerced him into promoting ASS everybody!
This guy speaks with such confidence and elegance. What an inspiration.
This fed me a lot more information and got me much more interested into python than any other material Ive found in the web to date.
"First I wanna create a class"
types ass
Can anyone identify the setup he's using - distro, window manager and vim customizations?
wm - looks like xfce (may be lxdm), tmux in terminal, vim conf and linux distro - unknown... I recommend i3 instead of xfce though, goes well with tmux + vim...
must be DWM with TMUX
There is a bug in his add method... if the polynomials are of different degrees, the sum is truncated to the lower degree. That is not how polynomial addition works.
Excellent talk. This guy knows his stuff. And the way he linked the different aspects together was really neat. Will have to look out for other talks he has done.
Very educational. Thank you for sharing.
This guy knows vim
A zna brate :)
Really like the note to the audience at 2:36 about getting past just the implementation details
It's VERY rare that I can't follow a tech video on at least 1.5x speed. Kudos on that! :D