bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Python/Object-Oriented Python
Python•Object-Oriented Python

Python Class Properties

Flash cards

Review the key moves

1/4
Core idea

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.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ Person:
3Order

Put the learning moves in the order that makes the concept easiest to apply.

Add New Properties
Modifying Class Properties
Class Properties vs Object Properties

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 error

Class 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.

Previous

Python self Parameter

Next

Python Class Methods