Python Object Oriented Programming | Dilip Krishna | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Python Object Oriented Programming

teacher avatar Dilip Krishna

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

9 Lessons (39m)
    • 1. Object Oriented Programmming

    • 2. Defining Class & Instance Methods

    • 3. Program on Class and Methods

    • 4. Encapsulation, Abstraction & Information Hiding

    • 5. Inheritance

    • 6. Python Program on Inheritance

    • 7. Multiple & MultiLevel Inheritance

    • 8. Operator Overloading

    • 9. Program on Operator Overloading

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

This course will teach you the concepts of Object Oriented Programming using Python.

These concepts and skills will make you more skilled in the software field, and by learning with Python will actually help you ti advance your career options.

Within in no time, you will get to learn the concepts that will enable you to develop some complex applications.

You don't have to know it all to be a developer, Just take this course and start working on your ideas!!!

Meet Your Teacher

Hello, I'm Dilip. I am a Full Stack Developer. I am very enthusiastic about software development and want to share my knowledge and skills with people around the world.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Object Oriented Programmming: Hello, guys. Very come to the course here. You're going to learn object oriented programming with vital. This is a next level step the functional programming. This course will teach you the concepts that we make a stand out from your payers. So what is object oriented programming? It is a programming paradigm. It's provides a means for structuring programs so that programs and behaviors are bundled into individual objects. Make this statement meaningful. You've got an example and I want it could represent a person with properties such as name, age, address, etcetera if you see them. The properties are nothing but DDX and behaviors such as walking, running, talking ex cetera. Here behaviors are nothing but actions. So by this we can understand that an object has some property such as D deals and behaviors . Such actions. So bundling these details and actions call objects. It is an approach for modelling real world things and as well as a relation between things . So would models real world, things, a software objects which handsome data associated with it and can perform some actions wolves in pytorch. So we have known object oriented programming. So how this can be performed in Pytorch. The pattern is a multi parallel and language. It means it supports different kinds off a broach. Well, object oriented programming is also an approach to solving problems. So but this approach use this object to solve programming problems. While these objects has two characteristics which you have discussed area, what are the attributes and behaviors? And this whole concept of Woops is toe create reusable court, the genes D r right dry going to Pete yourself so so that we don't have to repeat our core again and again and again. So once we have been in this cold, you can use it anywhere else. So we haven't what hoops is and how it can be used with Pitre. No, let's learn the fundamental off. Oops, The first is class. It is a blueprint for the object. We can think Africa's a sketch off an animal with Labour's candidate. All details about the species size type extra. Based on these descriptions, we can study the animal. The second part is object. It is an instance she ation off a class. What does that mean? This is the instance off a class which hold de days when classes defined with the description is different. Therefore, no stories on money is allocated. So to make things clear, we can think off class as a template. So with this tour, at some location, whenever we want to use this template, we make a copy off it and it do you envy? Use it so that we have the class. But we have any object for each individual item. While we have known a few things about moves by now, there are a few key principles by which this groups concept actually works. What are these principles encapsulation hiding the private details off a class from other objects. So we need to hide. Sometimes the deal's off. A class from other objects inherited a process off using details from a new class with dark modifying existing class, which means V bottle properties from another class into the existing class. So this is another concept last call in dwarfism, a process off using common operation in different ways for different input, which means different ways for different. Include, as the include changes the way off operation off the changes. These are the principles by which the office concept actually works. So here is an example. If you see on the left hand side there is a class named dog and the breathed sighs age color, the ring box are the properties, which means did its. And in the bill, a black box of the actions can perform like eat, sleep sick and run. This whole thing is a class dog. We can regard this thing as a template, while on the right hand side had three different dogs, which are Each of them are objects, and each object is borrow, which means it is instance created from the class dog. If you see the greed of the first dog is different from the blue ago and in the same way, every dog has its own details. But all of them are linked to the same class, which means the class is like a template, but the objects of the copy off it. So this we have entered into the concept off object oriented programming. Let's get ahead 2. Defining Class & Instance Methods: alright guys. They're known about hoops principles, fundamental concepts, off object oriented programming that is class an object. Now let's get to know how classes are actually constructed and how actions are performed by a class already defined so defining a class. We need to start with the keyword class, followed by the name of the class. If see, on the right hand side, we have written the keyword class and the potion, which is the name of the grass, each class and have attributes which are supported by dot betweens. Attributes are nothing but properties or D dates these details. I need to be accessed by some matter. So to access these details of properties or attributes we used the dot operator. We will get to know how you will use this operator instance attributes all classes create objects. Each object contains attributes Jenna timid properties. So if you see the right hand side the class person, it has a method in it, you see in it method is used to initialize the attributes to default values. This is provided by the python language to initialize the attributes to default values, so this matter must have a just one argument as well as self variables, which is the first of the object itself. We're going to learn self variable in the coming minutes, but let's not focus on the method in it. If you see inside it, it has a attributes, name and age. So these are the attributes and we are accessing it by using the dot operate. If you observe here self dot name and self dot age. So this is how we're going to use the daughter operator toe access the attributes. Now we're going to learn about this self variable. So why we need self since instances off a class have different values for the different attributes to keep back off each individual instance of the class, we use self. The last lecture. We have seen an example at the end about a dog so that CASS has three different objects, and each of the object attributes have different values to keep back off each at root off every object we need to use the attribute self, So if you see the explanation here, we can order for two person dot name as the name is different for different persons because because we have defined class with the name person we can order for toe every person as person got name. We need toe access. Each individual attributes off the every object, so v yourself self variable is an instance off the class so they can refer toa each person instance. All right, and next year's class attributes these attributes a seem for all instances. I'm like instance out of it because they belong to a particular object. But unlike them, glass attributes are same for every insurance because they are initialized outside off, then admitted, if you observe here gender, he's outside the unit method because they're initialized inside the class but not in the unit committed. They have the same value for every instance, but name and age are instance attributes because their intial ized inside the in it matter . They have different values for different instances, and the next instance made it. These are defined inside a class, and I used to get the contents often incense, so they also can be performed operations on the attributes similar to innit metal. The first argument is always self. If you see the program, we have two minutes. The first is in it and the next he's say, underscore High. So similar to Nick Mother, the say Hi Mattered has a self variable because it needs to refer to the instance attributes, and it prints high and the name. So these methods are bundled to the class, and these methods can perform operations. They can access content and they can modify content. They can do a lot more operations when they're bundled with the class. So these are the concepts we can use to define a class and its attributes and its methods. In the next lecture, we're actually going to learn and like cord. 3. Program on Class and Methods: Now we're going to write code to define class and instance methods and learn how to use them. So we have three comments here inside the class person it says. Class attributes instance. Attributes and instance medals. So let's finish these tasks and learn how to write them. First, we need to raise this past statement, and what we have learned about class after gut's is they. They are seen for every instance. So the example in the previous lecture we have stated deaths gender equal to me. So let's be there. They're good, the men as a value for the gender as a class out of boot. The next year's instance attributes So what we have learned about instant attributes that for you stands attributes are actually find inside the pigmented so and it and the very first valuable itself. And we're going to give two attributes for this class. What are they? Name and age. So here we're actually going to assigned values says dot Name will do name and self dot age , age. So this is how instance our roots are actually assigned in the next is instance method. From the previous lecture, we have seen an example, say hi method. So let's right that. So for every instance, my dad the first attributes will be self. So what are we doing here? We're actually going to say hi. Sure, we don't know the value off name because it is different for every instance. But we need to get the value. So how they're going to do there is a different V to bring the statement. So let's write it. You see, we're going to say hi to this name. So how this is converted to name. So we have omitted format dot for man and here and here we're going to specify what we're going toe Put it in the brackets place what self don't need. And another thing. We are going to do this. We're going toe. I didn't mind the age death bring underscore edge and waited itself. So what we're going to do here, drained he's years. Oh, and this we're going to put there's self name, coma, self dot age. So let's run the program. So what we're going to do now? We're going to use this class. How? How you were going to win, Stan Shit. So let's give it value Mike called person. So if you Abdullah here we have two newsstands attributes what have the name and age, so you need to pass it. So Michael Coma and his age is 23. Yeah, so Michael and he just 23. So let's access each values the first years. Glass attributes. Come on, my daughter. Gender. In the next days, we're going to access the high method. My daughter seeing the score high in the next days. My dog Mike Dog being under school. H. So these are the actions that we're going to perform. So no, let's run the corn and Abdullah. She had Joe here. The class attributes might door gender is made all right, and the next day's say underscore, High muttered is breeding. Hi, Michel, because we're offering to self dot name. The name is Michael, as were specified. Is spending it on the last year's bring on a school age. Michael is 23 years old. We have created only single object the similar way you can cure as many objects as you need in your neck, and you can perform actions and access devalues. So this is how we're going to define class and each transmitters in our programs 4. Encapsulation, Abstraction & Information Hiding: dead encapsulation, abstraction and hiding. The stones are often synonymous, Lee used, but there is a difference. Encapsulation. It is seen as bundling off data with methods that operate on that data. So and cancellation is all about the methods, and they're bundling that operate on their data. So encapsulation is accomplished by providing two kinds off methods. Methods for treating and accessing values. These are called the Getter Mezut and Methods for changing Values. These are called the center Methods the next. His information. Heidi. It is the principle that some internal information or data is hidden so that it can be accidentally changed. So there are some particular cases where we want to hide the data from other classes on other objects. So in that particular need, we need to hide our information. So this is where information hiding comes into play. The last year's abstraction. It means hiding the complexity and only showing the essential features off the object. So basically, abstraction is accomplished by the combination off encapsulation and information hiding. So these late one of the foundation principles for object oriented programming so encapsulation and abstraction glasses at the building block off encapsulation. What because class is high. The implementation details from the external classes. They provide a really the features off, how to use them and they hide implementation. So classes are the building blocks off encapsulation. The purpose off class is to bundle the properties and matters into one part. This is actually what encapsulation and abstraction are sure an information hiding. So there are three ways in which we can use to hide the information or provide access to the information. What are they when it's private, protected and public? Well, private? These attributes should only be used by the owner that is, inside the class definition itself. So the chart attributes we declared them as private. They cannot be accessed from outside of the class definition, the next use protected. These may be used, but at your own risk. Essentially, this means that they should only be used under certain conditions on the last his public. This can and should be used freely while in the last lecture the variables that we have used in our program, our public variables, because we didn't have any problem in accessing them. All right, so this is all about encapsulation, abstraction and information. Heidi. Let's get ahead with another concept 5. Inheritance: Hey, guys. Now we're going to learn the second principle off object oriented programming. What is inheritance? It is the process by which one class takes on the attributes and methods off another class and the newly formed classes are child classes. The classes the child classes are derived from are called parent classes. So a very important thing to make a note of furies. Child classes inherit all off parents attributes and behaviors, but they can also space for different behavior to follow inheritance syntax. The parent less, which is defined earlier, will be pass it to the child class as a perimeter. If you've seen the right hand side, the pain classes passed there, the Param Eter to the child class. In this way, the child class inherits all the properties from the pain casts and lastly, metal already and method of the parent cash is defined in the child class, which seem name but different functionality. When this kind of situation occurs, the method which is implemented in the time class will be executed so we can specify which matter to be executed by explicitly. You can refer to the matter in the parent last explicitly, but If you do not, the method will be overrated. If you've seen the example, the parent class has a method. Say hi and the child has omitted. Say hi and the child inherits the properties from the parent class. While both of the class have the same method name because the child class to see high has been implemented in a different way, it will be executed, All right, This is what inheritance does for us. It provides a way to inherit property from other classes. So let's write code and understand how these actually work. Let's get ahead. 6. Python Program on Inheritance: Hey, guys in this lecture varied in court to understand inheritance and how how it actually works for electoral court. Very important thing about the here is whenever we speak about the inheritance, we're actually talking about a class inheriting properties from another class. So before we do anything, we need to have a class. Before we do anything, we need to have a parent less. So let's define parents. Yes, I'm just simply rating passed because I'm not gonna initial is emitting Now the say hi matter. So here we have defined our parents. Yes. So let's no inherited this property off methods into child gas. Sorry, class, we pass parent as pattern we go. You have been doing insane what we do. We define a matter with the same name. But inside ensure off parent class you see child gas. You see these two class looks India. But the implementation of the method is different. So what do you do know? Let's define another method inside apparent gas so that we can actually know. Then we're inheriting the property. So here we have another method in parent class which say its parent only. This method is only in parent class, so we can actually get a mind whether we have actually inherited properties from the parent dress or not. So let's create object off the child glass. So B J was a child at first. Let's see what it does. Let's see. Let's see what this lined us in the course. It says hi from child class. You see the prince dismantled because as we have already seen in the previous picture, a method or writing has been occurred because both of the methods I haven't seen him in both classes. It is all right. So we are speaking about inheritance here. So apart from that, the overriding we have another matter parent only which is defined only impairing. We did not override this method. So let's call this matter using the China object so that we can actually know the properties are inside. Child who and no, let's run the program. You see, it says hi from child class. This matter is only in parent class, so this matter is only in parent class. Yet Viva able to call this matter using child object because it inherits the property from parent glass. And lastly, even though we ever override the method the parent cast their. Some occasions we we need to access the parent classmethod. So how do we do that? Let's define another method in child class. So here they're introducing a new variable. A new key would super. What do you mean by super? The super is used to access the parent class, which is immediately a boat. And we can We can use this super keyword to access the parent class methods and McAdoo's Super and that's it. So let's no call b j dot call on the scope and method. So let's run the program. Ah ha! Here you can see high from child class. This method is only in parent gas and the finally high from period dress. So in this way we can inherit the properties from under the class. We can access the properties off other class, even though we have override it. So this is a very important concept because it enables us to write cold that weaken views. Thank you 7. Multiple & MultiLevel Inheritance: other guests. Now we're going to learn about the concept in inheritance. It is multiple and multi level inheritance. So what is multiple inheritance? Whenever we use the word multi, it generally means more than one. Similarly, here, multiple inheritance means glass can be derived from moving one base grass. Then what happens? What is the specialty? The features off All the base classes are inherited into the derived class. So if you see the diagram below, which is the base, one class has futures and the base toe has its futures. When it is classes Diran from these two base classes, then this multi derived class will have the futures off the base, one class and based to class and also its own features. So this is what multiple inheritance mints. If you see this index the right hand side, it says the class based one beast toe and below the derived class which has to perimeters the previously just we only use the single perimeter as parentless. And now we have to base classes. So whenever we use multiple in evidence, we separate each parent class by comma multi level intelligence. So in the previous multiple inheritance, we inherited properties from different car classes. But here it is a level wasting, So the Alaskan also be derived from a derived class. It can be off in Egypt, which means we're deriving properties from a class which has also derived from another class. The features off base and derived class are inherited into the new derived class. If you see them and you would understand, the based features are delivering to the first to the right class and the features off base class and the futures of derive one class. But they are derived into the second derived dress. If you observe the syntax, it is pretty much seen as a normal inheritance. But the thing is, there is a level voice construct, So this is what multiple and multilevel inheritance is. This is just to make you know that there is such concept off using multiple classes to inherit his property strong. So whenever you need it, whenever you need toe use this kind of technique, it is obvious, did 8. Operator Overloading: Hello, guys. Welcome to another new concept operator over Laurie. So what is open it all? Really? You can change the meaning often, Operator, depending on the operations used. So we have different operators like rid merrick operators, relational comparacion, logical big walls and minimal operators. We can change the meaning off operator by depending on the operations that we're using. Ah, plus operator Persons edition of two variables merging off the list and concrete in it. Two strings. These are different kinds off operations performed by the plus operator. But the operator symbol remains saying the operation changes depending on the operates, whether they're variables, list or strings. This future lost same operator toe have different meaning According to the context, this is there some special functions class functions that begin with under school are called special functions like the unit method because it begins with the score the similar way. If we define underscored on the school s tear underscoring the school this matter in our cross, we can control how it gets printed, which means whenever we want a printer class data, we can use this method to determine how we want a printer data. So we're going to see operator overloading and this special functions in the next lecture as it as if writing cold. So here's an example. So we have a class point. So we have all learned in our elementary in high school that coordinate points have two values extended. Why so here in the end, it matter were initializing the values of X and y all right. And in the ad method, if you see the ad is nothing but resembling toe the place up it. So whatever we write in this matter and we use the place operator with the object off the class point, that's what it is going to do. So we have self door takes place, other doors X and self brought y Pless, other drug y. So it adds X values and the Y values and Britain's the Boat. These boats added values as a point very well. So this is an example. In the coming lecture, we're actually going toe right core to understand what is operator or loading what is special functions and how. Actually this example makes sense, so let's get ahead 9. Program on Operator Overloading: Welcome, guys. Now we're going toe right cord to understand, operator overloading and the special functions for anything we need toe define a class. So as our example the 1st 2 points off coordinate system. Let's create a class that has points and method. They have X equals zero and vehicle is it? This is the default while useful xn zero there are specified. And now and all right, that looks good. And now Zia we want toe no special functions. All right, here we are actually going right, dysfunction. So what are we going to do here? We're going to determine how the point class objects are going to be printed. So if we have the data accent, why in our point object how they're going to be printed? So let's return a scream which has zero common one about four minutes. Cell door X. Why? So what does distant what it does these This is the string format. This value will be router. But before returning it, it really for minute zero and the one in the calibrations toe the x and y values so x comma y values and braces will return to bring so the str method will determine how the values are going to be printed. So that's Artigas. So let's create a point object like common three and no, let's bring people. So let's see how it is he a comma. Three. So this is the reason why special functions are useful all right, but not only special functions. We need to do operator overloading. All right, now we're going toe over, nor the place operator. So the cell is to refer to its own insurance and other is to refer to the second operation because whenever you want to add something, we are talking about more than one or two. Our print self will refer to the first operation and other will open toe the second over. So let's do the addition Operation X equal. Who sells Nordex? Bless other Lord X on Vike will do cells. God, why self not Why bless other dog? Why so no, we need to Britain these values as a point Ex coma, right? So we have successfully overloaded less operator. So now let's check. But it works on Mark. I'm going to create a variable object readable. Be one with points common three in another with wind and now I want to add this boat operators. So let me bring them. So what does the place operator is actually or loaded? So what it does it adds the two and minus one and then as the three and said and Britain's as a point class really. And as the point class variable, the str mattered is a special function. We have specify how to print So the Prince statement will return the addition Operation result in this former So let's run on a video. Ah ha! We got the result as one comma 10 so two minus 11 and three plus 13 plus seven is 10 and str function will make sure it prudent says one comet and embraces So this is how operator overloading and the special functions work So the this we're concluding our course by this cause. Now you're able to understand the object oriented concepts, the features and help you used them And with this knowledge and skill you can go ahead and start learning new techniques and new skills toe developed some complex applications Good luck with your future and thank you very much