OOP in Python - Classes, Objects, class methods, monkey patching & more!

  Рет қаралды 31,849

Socratica

Socratica

Күн бұрын

Пікірлер: 82
@Socratica
@Socratica 8 ай бұрын
𝙎𝙞𝙜𝙣 𝙪𝙥 𝙛𝙤𝙧 𝙎𝙤𝙘𝙧𝙖𝙩𝙞𝙘𝙖 𝘾𝙤𝙪𝙧𝙨𝙚𝙨: www.socratica.com/collections 𝙎𝙤𝙘𝙧𝙖𝙩𝙞𝙘𝙖 𝙋𝙮𝙩𝙝𝙤𝙣 𝙨𝙝𝙞𝙧𝙩: shop.socratica.com/products/python-by-socratica
@soyuzssr
@soyuzssr 8 ай бұрын
I’m so happy !! A new Socratica Python video dropped !! Please do more such videos - they’re really so helpful !
@omhmpp
@omhmpp 8 ай бұрын
Always happy to see ulka back with a programming video
@2A9D8F
@2A9D8F 8 ай бұрын
Best channel in youtube. I wish you guys made an app so I would use it instead of getting distracted by youtube shorts :D
@Socratica
@Socratica 8 ай бұрын
We're working on a course page as we speak! Thanks for your kind words.
@ahmetahmed9754
@ahmetahmed9754 7 ай бұрын
I'm really amazed by the way they made this video. It tells nothing but their mystery of the concept. The moment you are able to simplify the concept is the moment you earn the master of the concept title. Well done! And I'm glad to be part of the Socratica family.
@Allen-by6ci
@Allen-by6ci 8 ай бұрын
Ulka is awesome as usual. Please list her in the credits.
@Socratica
@Socratica 8 ай бұрын
She is! Please visit our illuminating Description box for lots of details.
@TheWyrdSmythe
@TheWyrdSmythe 8 ай бұрын
A nice concise overview of Python classes in only eleven minutes! 👏🏼👏🏼👏🏼
@pineablesoda
@pineablesoda 2 ай бұрын
this is such an amazing video, this along with the decorators one and a few others are awesome, I'm studying CS and I'm in my first ever semester of university and they're teaching python, it's a lot of content to understand but these videos help out a lot! like learning classes from my book and the uni lecture took me 3hours almost, but this video made me understand it much better in just 11 minutes, its insane.
@mohammadamanalimyzada1462
@mohammadamanalimyzada1462 8 ай бұрын
Please do speed up uploading more amazing videos like this I love the job you guys are doing here and appreciate it from the core of my heart🥰🥰🥰
@StwongDave
@StwongDave 8 ай бұрын
As an App Dev, I will 100% be using "software thingies" to describe what I'm doing now.
@emman100
@emman100 8 ай бұрын
I was thinking of a way to explain what objects are without being technical and yes, I would also call them software thingies. 🤣
@Zancb
@Zancb 8 ай бұрын
Yay!!! I'm so happy to see a new video from Socratica!
@DrDeuteron
@DrDeuteron 4 ай бұрын
3:03 thank you so much for disambiguating "parameter" and "argument". Up next: dunder next, dunder iter, iterabale vs iterorator .....
@murphygreen8484
@murphygreen8484 8 ай бұрын
Man, those dunder methods are really magical
@amarmusovic7748
@amarmusovic7748 5 ай бұрын
I want every single thing I'm going to learn for the rest of my life explained by Ulka. 😀
@angojones3713
@angojones3713 8 ай бұрын
Like button activated, comment section engaged. Ready for takeoff.
@DrDeuteron
@DrDeuteron 4 ай бұрын
*like button activated mod 2 times.
@dewaynescott5114
@dewaynescott5114 8 ай бұрын
Thank you so much for these videos. I can’t even express how appreciative I am. Please keep them coming and this format for learning is perfect.
@1cookgs
@1cookgs 4 ай бұрын
Excellent presentation! Thank you.
@JorgeEscobarMX
@JorgeEscobarMX 8 ай бұрын
Very well done, explained. A second part with the explanation of creating and using the dunder methods: __repr__, __str__, etc would be great.
@emman100
@emman100 8 ай бұрын
Those methods have great responsibility attached to them. 😁
@Mohammad2525
@Mohammad2525 7 ай бұрын
Sent it to some friend and help him a lot. Outstanding explaining like always. You guys are awesome behind and in the front of Socratica Channel.
@hibryd7481
@hibryd7481 8 ай бұрын
This is very fortuitous; I've had a little spare time and was thinking of playing around with game design, a field in which OOP is applied liberally. I honestly don't use OOP that much and need to brush up, and it seems Python has a somewhat different feature set regarding OOP than other languages I've used in the past. To drift outside the scope of this video and wax on a little bit about design; I'd highly recommend to newer programmers to only utilize OOP when it makes clear and obvious sense to do so. There are schools of thought that OOP is the biggest tragedy to ever befall the programming community, and while I think that's a bit extreme, it has been my experience that OOP gets applied to a *very* wide range of situations where it isn't necessary or appropriate.
@DrDeuteron
@DrDeuteron 4 ай бұрын
OOP can be screwed up, but if you keep it S.O.L.I.D, it does well. My tips (and I know _you_ already know these): Strategy: >SRP: a class should have 1 purpose. No God objects, no scripts-in-a-class (the hardware ppl violate this all the time) >LSP: look it up. >Avoid object envy and inappropriate intimacy (don't mix two class's purposes) >Law of Demeter (keep it shallow) self.other.item.coins is bad >Has-A is better than Is-A (Is-A is so tempting when you learn about inheritance) >no race hazards in method calls (unless it's factored private method calculation) Tactics: >Lead with dunder init in the code (after class attributes--so 1st "def" is init). >Have it construct the whole object: no post init attribute injection. >do not do work in init. --if 2 and 3 are too hard, provide a class method constructor helper. >anything the object needs to do should be in a method. >method are the only place for side effect: only mutate attributes in the object _own_ methods, don't mutate other object from the parameters, never mutate "self" in a function. >push calculations up the method stack as far as possible. >YAGNI: don't add functionality before you need it, or know what it's going to look like. Other: Avoid primitive exception, e.g. don't make a phone number an integer, it looks like one, but it is not. Don't make it a "list" where you have to rememeber indices [area code, prefix, 4 digits], don't make it a dictionary {'area code': 800, 'prefix": 555,,,}...a class is a dictionary, so make it a class. ofc I have violated ALL of these, and have suffered as a result.
@emman100
@emman100 8 ай бұрын
Excellent video. I did not know that for self, you can pass in whatever name you want. I will still use self as it is convention but that is quite interesting. It does not seem to be the same for cls though. I started using Python OOP like 2 years ago. They make my code look so clean. 😁
@Gtv7020
@Gtv7020 3 ай бұрын
This is pure Gold. So elegant and clear. My question is, do you have a course I can signup that is not on KZbin? I checked Socratica collections and I only see what is on KZbin
@flarone
@flarone 8 ай бұрын
This series is really great.
@wahwahwally1
@wahwahwally1 4 ай бұрын
Great video! Easiest sub of my whole life...
@Socratica
@Socratica 4 ай бұрын
Thank you Socratica Friend!! 💜🦉
@techjunk8467
@techjunk8467 8 ай бұрын
Understanding OOP makes me smile
@FirozBhati-x9m
@FirozBhati-x9m 7 ай бұрын
your fitness is amazing you still look same as 6 years back.
@shawnscientifica7784
@shawnscientifica7784 7 ай бұрын
I feel in love with this channel years back and forgot due to life and school and now I'm back? I'm ready to fully invest! This is the kind of learning I would happily pay for!! Just went to your site, will you eventually do more advanced courses? say, an explanation of Topology, or AI/ML Python in this format. I love the scifi theme or any artistic theme it satisfies the artist in me and the Engineer I am by degree is satisfied by the information. You do a holy work here, divine by the universe
@PrakashPant-n8w
@PrakashPant-n8w Ай бұрын
yesss
@joaovazquez7112
@joaovazquez7112 7 ай бұрын
Que video legal. Continuem com essa série, por favor, pois muito agradável o aprendizado. Obrigado
@pile333
@pile333 8 ай бұрын
Very well done! 👏
@crackintosh
@crackintosh 8 ай бұрын
I love Socratica!
@9jatechie
@9jatechie 8 ай бұрын
Thanks for the beautiful video and welcome back.
@Socratica
@Socratica 8 ай бұрын
Thank you Socratica Friend!!! 💜🦉
@GenZ_01_
@GenZ_01_ 5 ай бұрын
As always high high quality!
@juanmacias5922
@juanmacias5922 8 ай бұрын
Whooo! New Python video. :D
@Omnifarious0
@Omnifarious0 7 ай бұрын
I can understand the pleasing symmetry of covering instance methods and class methods. Class methods are generally fairly uncommon though, and it's a lot more common to have static methods. Sadly, those don't fit the pleasing symmetry nearly so well. 😕 Otherwise, as always, I loved your presentation. :-)
@dixztube
@dixztube 8 ай бұрын
i always enjoy coding in python - its a fun language. i guess they each have their enjoyable idiosyncrasy... golang is also fun. js isn't fun to me but the project goals can be made fun. i havent done any ML work but i hear mojo is super cool
@AlexanderBukh
@AlexanderBukh 8 ай бұрын
fabulous stuff, thanks!
@TekluEng
@TekluEng 3 ай бұрын
This is just an awesome stuff. By the way do you have any other Python course that is not on KZbin? I have seen the website but I can't find anything that is not here. I wanted to sign up for Python 2 and Python 3 but none of them seem to be published yet.
@mjkluck
@mjkluck 8 ай бұрын
Good stuff.
@GegeOriloye
@GegeOriloye 8 ай бұрын
Impressive! Thanks.
@israelortiz8820
@israelortiz8820 8 ай бұрын
Welcome back
@acherongoon
@acherongoon 8 ай бұрын
I love the videos and would like to use them with students; unfortunately in recent feedback we seem to have an "uncanny valley" effect, highlighted when we studied the effect in robotics... it causes a disconnect with students and to some level a distrust of the information, explanations not being fully recognised.
@iamjimgroth
@iamjimgroth 8 ай бұрын
It is indeed responsible to create classes.
@deepdatasoftware2553
@deepdatasoftware2553 7 ай бұрын
Thank you Socratica, great material and very nice way of teaching. I am wondering why "introduction" as being a instance method is getting printed when calling "dir(Person)", I would've thought that only class methods will be printed, Do you know why this is happening? Thank you very much in advanced. Regards
@emman100
@emman100 8 ай бұрын
I did not know about monkey patching lol. These Python OOP nicknames are out of control. 🤣
@sinaasadiyan
@sinaasadiyan 8 ай бұрын
great video
@mikloslipcsey7923
@mikloslipcsey7923 3 ай бұрын
So if the double underscore is at the beginning of the function or program, does that make it a dunderhead?
@ChakradharrChakrii
@ChakradharrChakrii 8 ай бұрын
Awesome 🎉
@d55ai
@d55ai 5 ай бұрын
any chance we can know what font you are using?
@hellocodeur
@hellocodeur 8 ай бұрын
Thanks
@waqarkhanpisces
@waqarkhanpisces 8 ай бұрын
how do you get the idea of this type videos, whenever i visit here i think that a horror movie is being played your hard work is very appreciable
@atlantic_love
@atlantic_love 2 ай бұрын
The AI-emulating mistress we always wanted.
@tomoki-v6o
@tomoki-v6o Ай бұрын
how to deploy python library ?
@jeffschroeder4805
@jeffschroeder4805 8 ай бұрын
Strange to see your name used in an example. You are welcome!
@CerejaStudies
@CerejaStudies 7 ай бұрын
pq abandonaram os brs? gostava tanto dos videos
@DrDeuteron
@DrDeuteron 4 ай бұрын
You down with the O.O.P (yeah you know me) You down with the O.O.P (yeah you know me) You down with the O.O.P (yeah you know me) You down with the O.O.P (yeah you know me) You down with the O.O.P (yeah you know me) You down with the O.O.P (yeah you know me) Who's down with the O.P.P. (all the homies).
@kirbymarchbarcena
@kirbymarchbarcena 8 ай бұрын
Now I crave for cookies
@Socratica
@Socratica 8 ай бұрын
Us toooo oh no Our friend just sent us a recipe for masala chai shortbread!
@kellysmith7357
@kellysmith7357 8 ай бұрын
orly
@lucasgaperez
@lucasgaperez 7 ай бұрын
you never came back to your spanish channel😢
@ChandrashekarCN
@ChandrashekarCN 8 ай бұрын
💖💖💖💖
@destinliburd5455
@destinliburd5455 8 ай бұрын
❤❤❤heart
@kellysmith7357
@kellysmith7357 8 ай бұрын
noice
@king1_one
@king1_one 7 ай бұрын
bro i am in future and i have a AI teacher.
@LanguageHelp
@LanguageHelp 8 ай бұрын
first
@raj-zo4ev
@raj-zo4ev 8 ай бұрын
😂
@DrDeuteron
@DrDeuteron 4 ай бұрын
2:37 full_name? You doing work in dunder init? Nooooo!!!!! Make that a property or functools.cached_property, or, if it works, make it the output of dunder str. I don't do work in the init. It's a slippery slope. Oh, it's just adding two attributes---next thing you know you're opening resources on a Timbuktu server and doing giga-flop calculations and your whole abstraction grinds to a halt.
@benjamingoldstein1111
@benjamingoldstein1111 8 ай бұрын
I must say that the robotic design of the otherwise excellent videos is really distracting.
@okaytokay
@okaytokay 8 ай бұрын
Nah.. you must be new. This is perfect.
@Allen-by6ci
@Allen-by6ci 8 ай бұрын
Ulka is awesome
@benjamingoldstein1111
@benjamingoldstein1111 8 ай бұрын
@@Allen-by6ciThis is naturally very subjective. I could do with fewer sound bits and I'd rather hear a more natural voice modulation. The older videos were not this over-produced. But it's great if you like it the way it is. Just my two cents.
@hibryd7481
@hibryd7481 8 ай бұрын
I think its fun; its definitely preferable to not having any style at all. If you code a lot you know what a slog it can be to wade through endless tutorials with someone just speaking dryly at length over an unedited screencap.
@benjamingoldstein1111
@benjamingoldstein1111 8 ай бұрын
@@hibryd7481Yes, there is a soft spot somewhere in between.
The Ultimate Guide to Writing Classes in Python
25:39
ArjanCodes
Рет қаралды 118 М.
HELP!!!
00:46
Natan por Aí
Рет қаралды 69 МЛН
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,1 МЛН
AsyncIO, await, and async - Concurrency in Python
9:12
Socratica
Рет қаралды 108 М.
Learn Python OOP in under 20 Minutes
18:32
Indently
Рет қаралды 102 М.
Avoid These BAD Practices in Python OOP
24:42
ArjanCodes
Рет қаралды 72 М.
threading vs multiprocessing in python
22:31
Dave's Space
Рет қаралды 592 М.
Python dataclasses will save you HOURS, also featuring attrs
8:50
Python Object Oriented Programming (OOP) - For Beginners
53:06
Tech With Tim
Рет қаралды 3,4 МЛН
Learn Python Object Oriented Programming! 🚗
12:18
Bro Code
Рет қаралды 28 М.
If __name__ == "__main__" for Python Developers
8:47
Python Simplified
Рет қаралды 413 М.
This Is Why Python Data Classes Are Awesome
22:19
ArjanCodes
Рет қаралды 814 М.
HELP!!!
00:46
Natan por Aí
Рет қаралды 69 МЛН