Flash cards
Review the key moves
What is the main idea behind Python Class Properties?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ Person:Put the learning moves in the order that makes the concept easiest to apply.
Class Properties
Properties are variables that belong to a class. They store data for each object created from the class.
Example
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Emil", 36)
print(p1.name)
print(p1.age)Access Properties
You can access object properties using dot notation:
Example
class Car:
def __init__(self, brand, model):
self.brand = brand
self.model = model
car1 = Car("Toyota", "Corolla")
print(car1.brand)
print(car1.model)Modify Properties
You can modify the value of properties on objects:
Example
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Tobias", 25)
print(p1.age)
p1.age = 26
print(p1.age)Delete Properties
You can delete properties from objects using the del keyword:
Example
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("Linus", 30)
del p1.age
print(p1.name) # This works
# print(p1.age) # This would cause an errorClass Properties vs Object Properties
Properties defined inside init() belong to each object (instance properties).
Properties defined outside methods belong to the class itself (class properties) and are shared by all objects:
Example
class Person:
species = "Human" # Class property
def __init__(self, name):
self.name = name # Instance property
p1 = Person("Emil")
p2 = Person("Tobias")
print(p1.name)
print(p2.name)
print(p1.species)
print(p2.species)Modifying Class Properties
When you modify a class property, it affects all objects:
Example
class Person:
lastname = ""
def __init__(self, name):
self.name = name
p1 = Person("Linus")
p2 = Person("Emil")
Person.lastname = "Refsnes"
print(p1.lastname)
print(p2.lastname)Add New Properties
You can add new properties to existing objects:
Example
class Person:
def __init__(self, name):
self.name = name
p1 = Person("Tobias")
p1.age = 25
p1.city = "Oslo"
print(p1.name)
print(p1.age)
print(p1.city)Note
Adding properties this way only adds them to that specific object, not to all objects of the class.