Object Oriented Programming with Python - From Beginner to Advanced

Пікірлер: 39

  • @codingcrashcourses8533
    @codingcrashcourses85335 ай бұрын

    Related videos Pydantic: kzread.info/dash/bejne/aZV2tM2YerOTobw.html Software Engineering with Python: kzread.info/dash/bejne/aJtqwdCGZ9mpiMY.html

  • @saurabhjain507
    @saurabhjain5075 ай бұрын

    Finally completed watching the video. Good OOP tutorial. The new thing for me was slots. We dont see they are widely implemented and probably that's why not many tutorials cover them. Again, thank you for creating this comprehensive tutorial.

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    Thank you very much:)

  • @maximus-the-merciful
    @maximus-the-merciful3 күн бұрын

    Good course as a refresher if you haven't used python's OOP for a while. For beginners it could be a lot.

  • @ernie345
    @ernie3455 ай бұрын

    Concepts are well explained. Thank you. You've a new subscriber

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    Thank you :)

  • @pratiknarendraraut6889
    @pratiknarendraraut68895 ай бұрын

    Great content , you are a wonderful teacher

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    Thank you so much

  • @LawrenceAaronLuther
    @LawrenceAaronLuther2 ай бұрын

    I enjoyed this course very much. As a beginner I felt like this was the perfect balance between thoroughness and breadth. Of course, some of the concepts I won't be able to execute on my own nor perfectly follow their logic/sequence with complete understanding, but now I have a strong OOP framework in my head that I can slowly build upon with practice. Great teaching style too- if you release any more videos on topics I'm trying to learn I will definitely watch them. Many thanks

  • @codingcrashcourses8533

    @codingcrashcourses8533

    2 ай бұрын

    Great! Yes it will take time to figure out when to use what. It´s all not easy, but if you finish a course like this you seem to have the grit to to it ;-)

  • @ChadieRahimian
    @ChadieRahimian14 күн бұрын

    thanks a lot for the great video! I especially like the Design Patterns part. Just a feedback: I wish you first explained what you want to achieve with each example and then implemented the code and briefly went over why each element is necessary. For example why the super class Observer is needed. Coming from a C programming background, every problem I encounter during coding, seems like it will be solvable by functions. I never understood the real need of making classes. It would be nice to make another video going a bit deeper in design patterns part, explaining the chain of thought of "why" you choose classes for specific problems. Thanks a lot!

  • @codingcrashcourses8533

    @codingcrashcourses8533

    14 күн бұрын

    Thank you for your feedback. Maybe I can create a Design Patterns video in the future, where I cover this and also show "functional" alternatives with Python :)

  • @ChadieRahimian

    @ChadieRahimian

    14 күн бұрын

    @@codingcrashcourses8533 A more in-depth video on design patterns and best practices will definitely be appreciated! :) With some more concrete examples of when you choose each design pattern or if it's a personal choice etc.

  • @pi8anotita
    @pi8anotita2 ай бұрын

    Very interestign video one question so far: 38:00 you talk about how to add archers to company. When you add them by the + operator the company's size argument does not seem to work. Although you specify a comapny just with 5 archers, even if you add 6 the company adjusts and you never get notified that the maximum number of archers has been reached. Even when the iter and next are added if you have more than 5, they will all appear int he print. Any ideas how to correct it?

  • @codingcrashcourses8533

    @codingcrashcourses8533

    2 ай бұрын

    Thank you! I made a logical mistake: def __add__(self, other): if not isinstance(other, Archer): raise TypeError("Only adding Archers allowed") if len(self.archers) >= self.size: raise ValueError("Company already full") # Raise error if full self.add_archer(other) return self I also have to add the check here...

  • @yt7042
    @yt70425 ай бұрын

    Will the video still be available on your German channel? I need to brush up on my Python skills. :-)

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    There is a 2,5 hours video on OOP already on my german channel. Only Design patterns are missing in that one, but I cover many of those in seperate videos

  • @economist_roderick6377
    @economist_roderick6377Ай бұрын

    I hope the __hash__ method could be explained clearly with its application. What they are for? Thanks.

  • @codingcrashcourses8533

    @codingcrashcourses8533

    Ай бұрын

    Everytime you need unique values or want to compare values, you calculate a hash. Lets say you want to store your custom classes in a set and make sure you don´t have duplicated ones. {person1, person2, person3}

  • @ashishjohnsonburself
    @ashishjohnsonburselfАй бұрын

    im still pondering what would be the usecase of __hash__ /

  • @codingcrashcourses8533

    @codingcrashcourses8533

    Ай бұрын

    there are many usecases... everytime you need unique values. Lets say you want to store your custom classes in a set and make sure you don´t have duplicated ones. {person1, person2, person3}

  • @dineshkumarsudhakar732
    @dineshkumarsudhakar7325 ай бұрын

    Please upload odoo software tutorial Please

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    kzread.info/dash/bejne/aJtqwdCGZ9mpiMY.html

  • @dineshkumarsudhakar732

    @dineshkumarsudhakar732

    5 ай бұрын

    @@codingcrashcourses8533 it is python..I tell ODOO ERP SOFTWARE

  • @fluffykitties9020
    @fluffykitties9020Ай бұрын

    Well done but you fail to get into the motivation and intuition behind using OOP in the first place. This video is great if you already knew the "point" of using OOP and want to do it in Python, but there is little knowledge shared about thinking in terms of OOP, breaking your program down in a way that works with OOP, and in general the reasoning behind the process. Perhaps a topic for a new video? It would be a nice complement to this OOP "inplimentation" video. Anyway, many to to this wonderful German (or Austrian?) teacher!

  • @codingcrashcourses8533

    @codingcrashcourses8533

    Ай бұрын

    Hm, in the intro I tried to explain the motivation behind it. What did you expect that to look like?

  • @fluffykitties9020

    @fluffykitties9020

    Ай бұрын

    @@codingcrashcourses8533 Your intro only showed the outline of what was to be discussed in the video. Rather, I was thinking a high-level overview of the concepts and theory behind OOP in general, to give some context before jumping right into doing OOP in Python. Basically something that answers: "what's the point of OOP?" Thanks.

  • @codingcrashcourses8533

    @codingcrashcourses8533

    Ай бұрын

    @@fluffykitties9020 Ok, so you probably expected something like "4 pillars of OOP". Understood.

  • @DanteMishima
    @DanteMishima5 ай бұрын

    Please zoom your editor please

  • @codingcrashcourses8533

    @codingcrashcourses8533

    5 ай бұрын

    Do you watch this on your Phone or PC?

  • @LawrenceAaronLuther

    @LawrenceAaronLuther

    2 ай бұрын

    I think the zoom was perfect, but I watched from a PC

  • @user-lg4le8xr4s

    @user-lg4le8xr4s

    Ай бұрын

    It's already full screen, it can't really get any bigger. What are you watching it on? If he cropped out just the code panel, then you wouldn't be able to see the console output etc.

  • @mr.transformer1299

    @mr.transformer1299

    6 күн бұрын

    @@user-lg4le8xr4sThere’s a way to set the fonts to bigger sizes

  • @ham8088
    @ham808822 күн бұрын

    in 24:11 why self.arrows == self.arrows?? for the rest you did self.(variablename) == other.(variablename)

  • @codingcrashcourses8533

    @codingcrashcourses8533

    21 күн бұрын

    ups, i made an error there. Thanks for pointing it out. other.arrows is correct of course.

  • @ham8088

    @ham8088

    21 күн бұрын

    @@codingcrashcourses8533 also just wanted to say thank you so much for this course! really helpful and i understood alot of the concepts you covered! I subscribed and liked!

  • @kvelez
    @kvelezАй бұрын

    from abc import ABC, abstractmethod class AbstractCharacter(ABC): @abstractmethod def walk(self): pass @abstractmethod def run(self): pass @abstractmethod def jump(self): pass class Mario(AbstractCharacter): def __init__(self, name, skills) -> None: super().__init__() self.__name = name self.__skills = skills @property def name(self): return self.__name @name.setter def name(self, name): self.__name = name @property def skills(self): return self.__skills @skills.setter def skills(self, skills): self.__skills = skills def walk(self): print("Mario is walking") def run(self): print("Mario is running") def jump(self): print("Mario is jumping") mario = Mario() mario.walk() mario.run() mario.jump()

  • @codingcrashcourses8533

    @codingcrashcourses8533

    Ай бұрын

    Should probably fail because of missing arguments in the constructor?! :)

  • @kvelez

    @kvelez

    Ай бұрын

    @@codingcrashcourses8533 Interesting, thanks friend. If you have the right option, please show me so that I can correct the code.