Back to Python Notes
Topic #106

Python Class Properties

Properties in classes control how attributes are read and written, adding validation without changing the interface. They make data access safe.


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.

Want to go beyond the notes?

Join Coding Now Tech Institute's Python course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Python Class Properties – FAQs

Quick answers about learning Python Class Properties in Python.

This free note from Coding Now Tech Institute explains Python Class Properties in Python — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Python topic on Coding Now Tech Institute, including Python Class Properties, is 100% free with no signup required.
With focused practice, most students grasp Python Class Properties in 1–3 days from these notes; pairing it with Coding Now Tech Institute's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the Coding Now Tech Institute Community (/community) — expert instructors answer within 24 hours.
Call NowEnroll Now