Instance Variables,methods

Instance Variables

Instance variables are variables defined within a class but outside of any method. They are unique to each instance (object) of a class. This means that if you create multiple objects from the same class, each object will have its own separate copy of the instance variables. They are used to store the state of an object.

Example:

Consider a Car class. Each car has its own unique color and speed. These properties can be represented as instance variables.

class Car:
    def __init__(self, color, speed):
        self.color = color  # This is an instance variable
        self.speed = speed  # This is an instance variable

# Creating two car objects
car1 = Car("red", 100)
car2 = Car("blue", 120)

print(f"Car 1 is {car1.color} and its speed is {car1.speed} km/h")
print(f"Car 2 is {car2.color} and its speed is {car2.speed} km/h")

In this example, color and speed are instance variables. car1 has color as “red” and speed as 100, while car2 has its own color as “blue” and speed as 120.


Methods

Methods are functions defined inside a class. They represent the behaviors or actions that an object can perform. Methods can access and modify the instance variables of the object they belong to. They typically have self as their first parameter, which refers to the instance of the object itself.

Example:

Using the same Car class, we can add a method called accelerate to change the car’s speed.

class Car:
    def __init__(self, color, speed):
        self.color = color
        self.speed = speed

    def accelerate(self, increment):  # This is a method
        self.speed += increment
        print(f"The {self.color} car is now accelerating. New speed is {self.speed} km/h")

# Creating a car object
my_car = Car("green", 80)

# Calling the accelerate method on the object
my_car.accelerate(20)
my_car.accelerate(10)

In this example, the accelerate method changes the speed instance variable of the my_car object. The self parameter is used to access the speed variable specific to my_car.

Declare instance variables

You can declare instance variables in a class using the self keyword, most commonly within the __init__ constructor method. They can also be declared in other methods or even outside the class after object creation.


1. Declaring in the __init__ Constructor

This is the most common and recommended way to declare instance variables. The __init__ method is automatically called when a new object is created, ensuring that every object has these variables from the start.

Example:

Python

class Dog:
    # The __init__ method is a constructor
    def __init__(self, name, age):
        self.name = name  # Declaring an instance variable
        self.age = age    # Declaring another instance variable

# Creating two different Dog objects
dog1 = Dog("Buddy", 3)
dog2 = Dog("Lucy", 5)

print(f"Dog 1's name is {dog1.name} and age is {dog1.age}.")
print(f"Dog 2's name is {dog2.name} and age is {dog2.age}.")

In this example, self.name and self.age are instance variables. Each Dog object, dog1 and dog2, has its own unique name and age values.


2. Declaring in Other Methods

You can also declare an instance variable inside any other method of the class. However, this is generally less common and can make your code harder to read, as the variable will only exist on an object if that specific method has been called.

Example:

Python

class User:
    def __init__(self, username):
        self.username = username

    def add_email(self, email):
        self.email = email  # Declaring the instance variable here

# Creating a User object
user1 = User("john_doe")

# The 'email' instance variable doesn't exist yet
# print(user1.email)  # This would cause an error!

# Calling the method to declare the variable
user1.add_email("john@example.com")
print(user1.email)

Here, self.email is only created and available after the add_email method is called.


3. Declaring Dynamically Outside the Class

You can add an instance variable to an object at any point after it’s created, using the object name followed by the dot operator. This is also not a common practice as it can lead to inconsistent objects.

Example:

Python

class Student:
    def __init__(self, name):
        self.name = name

# Creating a Student object
student1 = Student("Alice")

# Dynamically adding a new instance variable
student1.grade = "A"

print(f"{student1.name}'s grade is {student1.grade}.")

Similar Posts

  • String Validation Methods

    Complete List of Python String Validation Methods Python provides several built-in string methods to check if a string meets certain criteria. These methods return True or False and are useful for input validation, data cleaning, and text processing. 1. Case Checking Methods Method Description Example isupper() Checks if all characters are uppercase “HELLO”.isupper() → True islower() Checks if all…

  • file properties and methods

    1. file.closed – Is the file door shut? Think of a file like a door. file.closed tells you if the door is open or closed. python # Open the file (open the door) f = open(“test.txt”, “w”) f.write(“Hello!”) print(f.closed) # Output: False (door is open) # Close the file (close the door) f.close() print(f.closed) # Output: True (door is…

  • Vs code

    What is VS Code? 💻 Visual Studio Code (VS Code) is a free, lightweight, and powerful code editor developed by Microsoft. It supports multiple programming languages (Python, JavaScript, Java, etc.) with: VS Code is cross-platform (Windows, macOS, Linux) and widely used for web development, data science, and general programming. 🌐📊✍️ How to Install VS Code…

  • Linear vs. Scalar,Homogeneous vs. Heterogeneous 

    Linear vs. Scalar Data Types in Python In programming, data types can be categorized based on how they store and organize data. Two important classifications are scalar (atomic) types and linear (compound) types. 1. Scalar (Atomic) Data Types 2. Linear (Compound/Sequential) Data Types Key Differences Between Scalar and Linear Data Types Feature Scalar (Atomic) Linear (Compound) Stores Single…

  • List of Basic Regular Expression Patterns in Python

    Complete List of Basic Regular Expression Patterns in Python Character Classes Pattern Description Example [abc] Matches any one of the characters a, b, or c [aeiou] matches any vowel [^abc] Matches any character except a, b, or c [^0-9] matches non-digits [a-z] Matches any character in range a to z [a-z] matches lowercase letters [A-Z] Matches any character in range…

  • Thonny: A User-Friendly Python IDE for Beginners in 2025

    Thonny is a free and open-source Integrated Development Environment (IDE) specifically designed for beginners learning Python. It provides a simple and user-friendly interface, making it an excellent choice for those new to programming. Key Features: Why Thonny is good for beginners: How to install Thonny: If you’re new to Python and looking for a user-friendly…

Leave a Reply

Your email address will not be published. Required fields are marked *