OOP – __init__ Method

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

OOP – __init__ Method

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. What does __init__ do?
A Deletes the object
B Initializes a new object automatically
2. When does __init__ run?
A When an object is created
B When an object is deleted
3. What must be the first parameter of __init__?
A self
B this
4. class Dog:\n def __init__(self, name):\n self.name = name\nDog('Rex') what is self.name?
A 'Rex'
B 'name'
5. Do you pass 'self' when creating an object?
A Yes
B No Python passes it automatically

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1class Dog: def __init__(name): self.name = name AOutput: 3
2class Dog: def __init__(self, name): self.name = name Dog() BValid: __init__ with parameter
3class Dog: def __init__(self, name): self.name = name COutput: Rex
4d = Dog('Rex') print(d.name) DError: Missing required arg 'name'
5class Dog: def __init__(self,n): self.name=n d=Dog('Rex') print(d.name) EError: First param must be 'self'
6class Point: def __init__(self,x,y): self.x=x self.y=y p=Point(3,4) print(p.x) FOk: Access attribute after creation

Definitions

__init__

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
class Dog: def ________(self, name): self.name = name
2.
class Dog: def ________(self): self.name = name
3.
class Dog: def ________(self, name): ____.name = name
4.
dog = Dog(_____) print(dog.name)
5.
class Person: def __init__(self, name, age): self.___ = age

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A class Dog:
B def __init__(name):
C self.name = name
Question 2
A class Dog:
B def _init_(self, name):
C self.name = name
Question 3
A class Dog:
B def __init__(self, name):
C name = name
Question 4
A class Dog:
B def __init__(self, name):
C self.name = name
D
E dog = Dog()
F print(dog.name)
Question 5
A class Dog:
B def __init__(self, name):
C self.name = name
D
E dog = Dog('Rex', self)

Answer Key

OOP – __init__ Method
Section A: Quick Questions
Q1
B — Initializes a new object automatically
Q2
A — When an object is created
Q3
A — self
Q4
A — 'Rex'
Q5
B — No Python passes it automatically
Section B: Match the Pairs
Q1
class Dog: def __init__(name): self.name = name → Error: First param must be 'self'
Q2
class Dog: def __init__(self, name): self.name = name Dog() → Error: Missing required arg 'name'
Q3
class Dog: def __init__(self, name): self.name = name → Valid: __init__ with parameter
Q4
d = Dog('Rex') print(d.name) → Ok: Access attribute after creation
Q5
class Dog: def __init__(self,n): self.name=n d=Dog('Rex') print(d.name) → Output: Rex
Q6
class Point: def __init__(self,x,y): self.x=x self.y=y p=Point(3,4) print(p.x) → Output: 3
Section C: Definitions
Q1
__init__ — Constructor method that runs automatically when an object is created.~~self
Section D: Fill in the Blanks
Q1
class Dog: def __init__(self, name): self.name = name
Q2
class Dog: def __init__(self): self.name = name
Q3
class Dog: def __init__(self, name): self.name = name
Q4
dog = Dog('Rex') print(dog.name)
Q5
class Person: def __init__(self, name, age): self.age = age
Section E: Spot the Error
Q1
B — Missing self as the first parameter
Q2
B — Need DOUBLE underscores: __init__ not _init_
Q3
C — Must use self.name to save on the object. name alone is just a local variable.
Q4
E — __init__ expects a name argument Dog() without it causes TypeError
Q5
E — Don't pass self Python does it automatically