Bird
Raised Fist0
Pythonprogramming~5 mins

__init__ method behavior in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the purpose of the __init__ method in a Python class?
The <code>__init__</code> method initializes a new object when a class is instantiated. It sets up initial values for the object's attributes.
Click to reveal answer
beginner
When is the __init__ method called?
It is called automatically right after a new object is created from a class, without needing to call it explicitly.
Click to reveal answer
beginner
Can the __init__ method take parameters? If yes, why?
Yes, it can take parameters to allow setting different initial values for each new object created from the class.
Click to reveal answer
intermediate
What happens if a class does not have an <code>__init__</code> method?
Python uses a default __init__ method that does nothing, so the object is created but no attributes are set automatically.
Click to reveal answer
beginner
How do you access the object being created inside the __init__ method?
You use the self parameter, which refers to the new object itself, allowing you to set or access its attributes.
Click to reveal answer
What does the __init__ method do in a Python class?
ARuns only when the program ends
BInitializes a new object when the class is instantiated
CDeletes an object
DCreates a new class
Which keyword is used inside __init__ to refer to the current object?
Aself
Bthis
Cobj
Dcurrent
If you do not define an __init__ method, what happens when you create an object?
AThe program crashes
BPython raises an error
CThe object is created with default initialization
DThe object is not created
Can __init__ accept arguments besides self?
ANo, only <code>self</code> is allowed
BOnly if the method is static
COnly if the class inherits another
DYes, to set initial attribute values
When exactly is the __init__ method called?
ARight after an object is created from the class
BWhen the program starts
CWhen the object is deleted
DBefore the class is defined
Explain in your own words what the __init__ method does in a Python class.
Think about what happens when you create a new object.
You got /4 concepts.
    Describe how you would use parameters in the __init__ method and why they are useful.
    Consider how you can give each object its own data.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of the __init__ method in a Python class?

      easy
      A. To create a new class
      B. To delete an object from memory
      C. To print information about the class
      D. To set up initial values for the object's attributes

      Solution

      1. Step 1: Understand the role of __init__

        The __init__ method runs automatically when an object is created to set up initial values.
      2. Step 2: Compare options with this role

        Only To set up initial values for the object's attributes describes setting initial attribute values, which matches __init__'s purpose.
      3. Final Answer:

        To set up initial values for the object's attributes -> Option D
      4. Quick Check:

        __init__ sets initial values = A [OK]
      Hint: Remember: __init__ sets starting info for objects [OK]
      Common Mistakes:
      • Thinking __init__ deletes objects
      • Confusing __init__ with printing methods
      • Believing __init__ creates classes
      2.

      Which of the following is the correct way to define an __init__ method inside a Python class?

      class Car:
          ?
      easy
      A. def __init__(self, model):
      B. def init(self, model):
      C. def __start__(self, model):
      D. def __init__(model):

      Solution

      1. Step 1: Check method name and parameters

        The method must be named exactly __init__ and include self as the first parameter.
      2. Step 2: Compare options

        Only def __init__(self, model): uses the correct name and includes self properly.
      3. Final Answer:

        def __init__(self, model): -> Option A
      4. Quick Check:

        Correct __init__ syntax = D [OK]
      Hint: Always include self as first parameter in __init__ [OK]
      Common Mistakes:
      • Omitting self parameter
      • Misspelling __init__ method name
      • Using wrong method names like init or __start__
      3.

      What will be the output of this code?

      class Dog:
          def __init__(self, name):
              self.name = name
      
      my_dog = Dog("Buddy")
      print(my_dog.name)
      medium
      A. Buddy
      B. name
      C. Dog
      D. Error

      Solution

      1. Step 1: Understand object creation and attribute assignment

        The __init__ method sets self.name to "Buddy" when my_dog is created.
      2. Step 2: Check the print statement

        Printing my_dog.name outputs the string "Buddy" stored in the attribute.
      3. Final Answer:

        Buddy -> Option A
      4. Quick Check:

        Object attribute value = Buddy [OK]
      Hint: Print object.attribute to see stored value from __init__ [OK]
      Common Mistakes:
      • Printing class name instead of attribute
      • Expecting attribute name instead of value
      • Assuming code causes error
      4.

      Find the error in this class definition:

      class Person:
          def __init__(name):
              self.name = name
      
      p = Person("Alice")
      medium
      A. Wrong class name
      B. Missing self parameter in __init__
      C. Missing parentheses when creating object
      D. No error

      Solution

      1. Step 1: Check __init__ method parameters

        The __init__ method must have self as the first parameter, but it is missing here.
      2. Step 2: Identify impact of missing self

        Without self, self.name causes an error because self is undefined.
      3. Final Answer:

        Missing self parameter in __init__ -> Option B
      4. Quick Check:

        __init__ needs self first [OK]
      Hint: Always put self as first __init__ parameter [OK]
      Common Mistakes:
      • Forgetting self in method parameters
      • Thinking class name must change
      • Missing parentheses when creating object
      5.

      Consider this class:

      class Book:
          def __init__(self, title, author="Unknown"):
              self.title = title
              self.author = author
      
      b1 = Book("Python 101")
      b2 = Book("Learn AI", "Dr. Smith")
      print(b1.author, b2.author)

      What will be printed?

      hard
      A. Dr. Smith Unknown
      B. Python 101 Learn AI
      C. Unknown Dr. Smith
      D. Error due to missing author argument

      Solution

      1. Step 1: Understand default parameter in __init__

        The author parameter has a default value "Unknown", so it is optional when creating an object.
      2. Step 2: Analyze object creations

        b1 is created with only title, so author is "Unknown". b2 provides both title and author "Dr. Smith".
      3. Step 3: Check print output

        Printing b1.author and b2.author prints "Unknown Dr. Smith".
      4. Final Answer:

        Unknown Dr. Smith -> Option C
      5. Quick Check:

        Default parameters fill missing values = A [OK]
      Hint: Default values fill missing arguments in __init__ [OK]
      Common Mistakes:
      • Expecting error when argument is missing
      • Mixing up title and author values
      • Assuming both arguments are always required