OOP with Pygame - Object Oriented Programming Exercise

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ม.ค. 2025

ความคิดเห็น •

  • @Qlii256
    @Qlii256 7 หลายเดือนก่อน +7

    You are declaring instance attributes outside of the __init__ method, which is not ideal. You can just create them with a value of None, and then set them in the draw method. If you never call the draw method, that means the attributes will never be initialized (set) and thus, do not exist.

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน +8

      100%!!! Thank you for the awesome tip! 😀😀😀

    • @Qlii256
      @Qlii256 7 หลายเดือนก่อน +2

      @@PythonSimplified Python does not really care however and lets you do all of these things. You can declare variables anywhere you want, without specifying a type even. But it's very prone to errors. I've had to deal with something like this myself where it took me a while until I figured out why my attribute was not declared even though I did declare it. It was not in the __init__ method...

    • @leahnjr
      @leahnjr 7 หลายเดือนก่อน

      I would also create getter methods for any property you want to be public to the consumer of the class. This is also not a place where Python excels because it doesn't have access modifiers and pretty much everything is public. But it is customary to prefix an underscore to show a property or method should be private.

  • @awelege
    @awelege 7 หลายเดือนก่อน +4

    Thank you so much. That replacing "self" with "vehicle" really cleared a lot of things

  • @VinnyRN07
    @VinnyRN07 7 หลายเดือนก่อน +7

    Visuals are very important when learning, for a lot of people. This was a great way to show off classes and although I have been using Python a while, I feel a lot more comfortable with some things I did not know before (like the super required in inheritance!) Fantastic video!

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน +7

      Thank you so much Vinny!!! So happy you liked this tutorial, and I agree with you 100%! 😀
      Initially I was planning to start this exercise in a fully functional car game. The red car image would have been the enemy vehicle, and we would have implemented changes in speed and associating different audio files with different vehicle classes. I realized eventually that it's a bit too much so I decided to keep it simple. (We might still do it in a live stream though! 😉)
      Cheers! and thanks for the comment! :)

    • @Yachid
      @Yachid 7 หลายเดือนก่อน +1

      Agrē! "Visuals are very important when learning", &
      'PythonSimplified' cŕtainLy bring'z the "visuals"
      w/hŕ evŕ rādiant smile

    • @VinnyRN07
      @VinnyRN07 7 หลายเดือนก่อน +1

      @@PythonSimplified Cannot wait to see what you create next then!

  • @kjlw99
    @kjlw99 7 หลายเดือนก่อน +2

    Thank you! You're a great explainer! You seem like you test your tutorials ahead, so you don't get tripped up on small details like many do when doing tutorials.

  • @papatangovictor
    @papatangovictor 7 หลายเดือนก่อน +3

    Pure teaching talent.

  • @MichaelSwartout
    @MichaelSwartout 7 หลายเดือนก่อน +1

    You are such a perfect teacher. So easy to understand you. Even though I am more of a Java, c and c++ developer.

  • @paulocoelho558
    @paulocoelho558 7 หลายเดือนก่อน +1

    Good morning! I'm enjoying learning from such a skilled little snake charmer. Please feel free to keep sending those homework assignments my way - practice makes python! Thank you Mariya! 😊😃😛😉

  • @ivansmirnov9589
    @ivansmirnov9589 7 หลายเดือนก่อน

    Спасибо, Маша! Отлично обхяснила. Даже я что-то понял из ООП. Пожалуй вернусь к этому упражнению после прохождения курса по ООП на степике!

  • @lyzersports4335
    @lyzersports4335 7 หลายเดือนก่อน +2

    Got yourself a new subscriber.

  • @AwesomeCameras
    @AwesomeCameras 7 หลายเดือนก่อน +2

    This is great! Going to rewatch later when I get on my computer...

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน

      I hope you have lots of fun and this video will give you a bunch of cool ideas for personal projects! 😀

  • @AirzGamingTTV
    @AirzGamingTTV 7 หลายเดือนก่อน +1

    I really love your content- you have a gift for teaching thank you for sharing

  • @hodoros7255
    @hodoros7255 7 หลายเดือนก่อน

    Thank you for continued content. Would love a video that goes over how how to self-learn new python modules! Ideas would include how to get used to reading python module documentation, what to google, how to find examples etc.., how to start playing with a new module etc..
    Hope you respond whether you think this is a good or bad idea/or any thoughts in general. Thanks!

  • @mecrayavcin
    @mecrayavcin 6 หลายเดือนก่อน +1

    Woow best OOP lesson that i have ever seen. 🥰

  • @WMcLovin
    @WMcLovin 5 หลายเดือนก่อน +1

    you make learning fun

  • @xEndless11
    @xEndless11 7 หลายเดือนก่อน

    In pygame or python ursina or cave engine it is more effective to write the classes like "class MY_CLASS(WHAT_MY_IS):". The reason: Game engines like Ursina, PyGame or Cave call predefined instances such as “Entity”, “Text”, “Animation” or simple “Scene”. This means that if you write larger code, sooner or later type problems will arise when recognizing and reading the instances if this is not stated directly. At the same time, these are able to use the update definition with the delta time and update themselves. If you don't specify anything there, the update function will only work to a limited extent there or at least only if you integrate it somewhere else, which will end up eating up a lot of performance and Python is a bit slower in gaming anyway. It would also make the code easier to understand and read if you use variables or values ​​that are as short as possible than the actual string or value itself. Example: plc_t='police_car_texture0.png' instead of police_car_texture='police_car_texture0.png'.

  • @chrisray1567
    @chrisray1567 7 หลายเดือนก่อน +1

    You down with OOP? Yea, you inherit me!

  • @edupgarciati
    @edupgarciati 7 หลายเดือนก่อน

    I personally couldn't have made it a better explanation Maryia

  • @felipegaeteroman
    @felipegaeteroman 7 หลายเดือนก่อน

    Thank you Mariya for another great content!!!

  • @cram000
    @cram000 6 หลายเดือนก่อน

    I think I found the channel I'll be using to research Python 👀suddenly it's far easier to pay attention and learn

  • @LinKuai-li5zx
    @LinKuai-li5zx 7 หลายเดือนก่อน

    please make a few series on OOP, for example why do we actually need encapsulation.

  • @john9908
    @john9908 2 หลายเดือนก่อน +1

    Omg that hair 🤤🤤🤤 single? Haha

  • @mrpro7737
    @mrpro7737 7 หลายเดือนก่อน

    i miss you so much ❤️
    please stay active 🙏 we love your content 😍

  • @tokenizedgameplay
    @tokenizedgameplay 7 หลายเดือนก่อน

    Thanks Maria, i think i have to go over again.
    Keep it up🙂

  • @SilentGamingDad
    @SilentGamingDad 7 หลายเดือนก่อน

    Drop the mic girl , this content is gold , thanks !

  • @abQUINTON1
    @abQUINTON1 6 หลายเดือนก่อน

    Thanks for posting!

  • @glenneric1
    @glenneric1 7 หลายเดือนก่อน

    Thank you for the amazing content! Love's me some pygame.

  • @milikest
    @milikest 7 หลายเดือนก่อน

    Thank you for such an informative video. But everyone is talking about OOP, I wish we could see a functional programming exercise. I wish you could talk about paradigms and create a functional programming tutorial. I don't want peace, I want trouble!

  • @BikerBoyz7
    @BikerBoyz7 6 หลายเดือนก่อน

    Hi can you make a video for python selenium?

  • @PAOLOHAON
    @PAOLOHAON 7 หลายเดือนก่อน

    Nice intro music!

  • @amit12000
    @amit12000 7 หลายเดือนก่อน +1

    Waiting for great upcoming session

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน

      I hope you enjoyed it! (or will enjoy it! 😀)

    • @amit12000
      @amit12000 7 หลายเดือนก่อน

      Yea you always teach us exceptional thing in very simplified

  • @gunawanwibisono5084
    @gunawanwibisono5084 2 หลายเดือนก่อน +1

    I don't have money more for lesson python

  • @TamilCoder.
    @TamilCoder. 7 หลายเดือนก่อน

    Can you explain about abstraction?

  • @AgaAga-of6ii
    @AgaAga-of6ii 7 หลายเดือนก่อน

    cool, but is there a simple way of making them not touch or cover each other?

  • @worc974
    @worc974 7 หลายเดือนก่อน

    thanks for the video!!

  • @hamoudimaghoul3407
    @hamoudimaghoul3407 7 หลายเดือนก่อน

    helpful 10x Mariya. 😉. Let's rolllll

  • @shivamsahu4388
    @shivamsahu4388 7 หลายเดือนก่อน

    Great Video 🙂

  • @СеменХеруимов
    @СеменХеруимов 7 หลายเดือนก่อน

    Спасибо за видео :)

  • @--AnonymousUser--
    @--AnonymousUser-- 7 หลายเดือนก่อน

    Simplification Pythonified!

  • @mehdismaeili3743
    @mehdismaeili3743 7 หลายเดือนก่อน

    Excellent .

  • @raphisteve
    @raphisteve 7 หลายเดือนก่อน +1

    Hey dear!
    I just wanted to ask if you could provide us with your opinion about the new function of Windows 11
    It is called "Recall" or something else. It screenshots your screen every 5 seconds...
    Have a great time!

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน +3

      It's probably just another way for Bill Gates to spy on you 😉 hahaha
      But on a deeper level, I believe they try to model your computer usage and learn your behavior. If they collect enough data, they can estimate you next move quite accurately. They also know that most people will let them do so, because installing and maintaining Linux is complex for most individuals. If they had an "apples to apples" competition - they wouldn't do something that shady 🙃

  • @Sinke_100
    @Sinke_100 7 หลายเดือนก่อน +1

    Colour is brittish, cool 🙂

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน +2

      Yup! and also Canadian! 🍁🫎

    • @Sinke_100
      @Sinke_100 7 หลายเดือนก่อน

      @@PythonSimplified hm, I didn't acually know that Mariya

    • @cerealport2726
      @cerealport2726 7 หลายเดือนก่อน +1

      and Australian.

  • @takisbezaitis7741
    @takisbezaitis7741 7 หลายเดือนก่อน

    Hello from Greece!
    Thanks for the tutorial!! One question: is pygame worth it or is it outdated? What about Python Arcade or similar frameworks?
    Thanks again!

    • @sstfpv8651
      @sstfpv8651 7 หลายเดือนก่อน

      The latest version of pygame, called 'pygame-ce' for Community Edition is still being updated while the original pygame seems not so much anymore

    • @takisbezaitis7741
      @takisbezaitis7741 7 หลายเดือนก่อน

      @@sstfpv8651 Thank you!

    • @takisbezaitis7741
      @takisbezaitis7741 7 หลายเดือนก่อน

      @@sstfpv8651 Thank you!

  • @PakistanAnonymous
    @PakistanAnonymous 5 หลายเดือนก่อน +1

    ❤ 😍

  • @СергейДружинин-н7ы
    @СергейДружинин-н7ы หลายเดือนก่อน +1

    Isn't Object-Oriented Programming actually Class-Oriented?
    What do you think about that?

    • @PythonSimplified
      @PythonSimplified  หลายเดือนก่อน

      Classes create objects, so I don't think it really matters 🙂

  • @treedigital346
    @treedigital346 7 หลายเดือนก่อน

    forgive me the only reason to subscribe this chanel and watching it your smile ,slang and your laugh not your coding

  • @prabhatadvait6171
    @prabhatadvait6171 หลายเดือนก่อน

    Thanks it was amazing ,love from india

  • @Rob-147
    @Rob-147 7 หลายเดือนก่อน

    LETS GO!!!

  • @JessWLStuart
    @JessWLStuart 7 หลายเดือนก่อน

    Why do chicken coups only have two doors? Because if they had four doors, we'd have to call them chicken sedans!

  • @siddhartha5875
    @siddhartha5875 6 หลายเดือนก่อน

    Ohh .I wish somebody bothered to explain it to me as from where I could start the journey! Or the sequence it would save me so much time and frustration 😦😔
    TH-cam is bombarded with so many videos 😭

  • @reef2005
    @reef2005 6 หลายเดือนก่อน

    The super function is redundant for most of the code.

  • @AliAkbarNemati-v5x
    @AliAkbarNemati-v5x 7 หลายเดือนก่อน +3

    She left Sublime Text 😢

  • @JafarH-ip5qh
    @JafarH-ip5qh 6 หลายเดือนก่อน

    🎉🎉

  • @sstfpv8651
    @sstfpv8651 7 หลายเดือนก่อน

    I'd like to introduce you to the pygame.sprite.Sprite and .Group classes

  • @Serge-r4k
    @Serge-r4k 7 หลายเดือนก่อน

    ❤❤

  • @hassanal8321
    @hassanal8321 3 หลายเดือนก่อน

    Yay 😅

  • @jed6265
    @jed6265 6 หลายเดือนก่อน

    Truck and Police will call draw() twice

  • @awelege
    @awelege 7 หลายเดือนก่อน

    4:30

  • @vurmyr
    @vurmyr 7 หลายเดือนก่อน

    Composition > Inheritance

  • @carsonjamesiv2512
    @carsonjamesiv2512 7 หลายเดือนก่อน

    😃👍🎉

  • @SaiSai-advertiser
    @SaiSai-advertiser 6 หลายเดือนก่อน

    I love you pretty and very clever girl😍

  • @Tobs_
    @Tobs_ 7 หลายเดือนก่อน +1

    stuck in work.. practicing OOP in real life.

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน +1

      Making tons of money while the rest of us slack off at home, wearing pajamas and watching TH-cam 😉

    • @Tobs_
      @Tobs_ 7 หลายเดือนก่อน

      @@PythonSimplified got 3 day weekend now so going to get some "happy" coding done in C ☺

  • @Yachid
    @Yachid 6 หลายเดือนก่อน +1

    Hey Py~Lady!
    shout-Out fr~ @MI
    i jst watchD yr 'Next Wave' show
    (radiant & composed az ever )
    'With AI, Are Coding Jobs at Risk? ft. Python Simplified'
    i coMentD 2U there 2:
    Hiya 'Py Lady'! (Mariya Sha)

  • @cerealport2726
    @cerealport2726 7 หลายเดือนก่อน

    How did you know about my French girls....?

  • @SaiSai-advertiser
    @SaiSai-advertiser 6 หลายเดือนก่อน

    pretty girl and you are very clever

  • @raja_uma1r
    @raja_uma1r 7 หลายเดือนก่อน +1

    Well python is good at functional programming but it sucks at OOP. Too much boilerplate and unnecessarily complex.

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน

      I personally find it much more intuitive than C++ and C#... I guess I'm not a big fan of Header files, declaring stuff and figuring out why the code won't compile if the info in .cpp and .h files don't match 🙃
      I think the only downside in the Python way, as mentioned by Badger in the live chat, is that Python private members are not really private. Other than that, I'm a happy camper 😀

    • @raja_uma1r
      @raja_uma1r 7 หลายเดือนก่อน +1

      @@PythonSimplified yeah, you may be right, everyone have their preference, I started my journey with Python and I used to love it, now I'm a Kotlin/Android developer and trust me I would never like to return to python.

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน

      Hey, at least it's not Java! 😅😅😅 hahaha
      My uncle has been in the Kotlin/Android sphere for years! It's a great choice of career! 😀

    • @raja_uma1r
      @raja_uma1r 7 หลายเดือนก่อน

      @@PythonSimplified well, kotlin is modern Java and it has replaced java in all manners. "Write once, run anywhere." was a slogan for Java but now It's the Kotlin era. Have you heard about Kotlin/Compose Multiplatform?

  • @absurdshortz
    @absurdshortz 6 หลายเดือนก่อน

    ma'am number please for studying purpose

  • @_isDev
    @_isDev 7 หลายเดือนก่อน

    The word self is a reference to the instance (object) of a class, not to the class itself. The reserved word for this is class

  • @awelege
    @awelege 7 หลายเดือนก่อน +1

    Thank you so much. That replacing "self" with "vehicle" really cleared a lot of things

    • @PythonSimplified
      @PythonSimplified  7 หลายเดือนก่อน

      That's awesome! Super happy to help! 😀😀😀