Loading video player…

Initializing Objects With __init__()

00:00 You quickly looked at the __init__ magic method in one of the previous lessons. Now, let’s dive deeper and really understand how it works. First, let’s refresh your memory.

00:12 Instance attributes are properties or characteristics that are specific to each object of a class.

00:19 Now let’s see how __init__ comes into play here. Check out this Dog class. In this example, you’ve got a Dog class with an __init__ method.

00:29 As you learned before, the __init__ method is a special method that Python automatically calls when you create a new instance of the class. Its main job is to set up the instance’s attributes.

00:41 Now, meet Buddy and Lucy. Each has a unique name and age, so name and age are instance attributes of the class Dog.

00:51 Each Dog object can have its own name and age.

00:56 How does __init__ do this? When you create a new Dog instance, __init__ initializes the newly-created object by setting up its initial state.

01:06 Then it assigns values to its instance attributes. For example, for Buddy, it passes “Buddy” as the name, and 5 as the age. Inside __init__, .self .name is set to “Buddy” and .self .age is set to 5.

01:22 Now the Buddy object has these attributes. The same thing happens for Lucy. As you might have noticed, you don’t have to call __init__ by yourself.

01:33 You just rely on Python’s implicit behavior.

01:37 So far, you’ve created two new instances of the Dog class, but how does Python actually create a new instance behind the scenes? To find out, keep watching.

Become a Member to join the conversation.