Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

Instance Variables and Methods in Python


In Python, instance variables and methods are specific to an object created from a class. Instance variables store data unique to each object, while instance methods operate on that data. This article explains instance variables and methods with examples.

Instance Variables

Instance variables are defined within the __init__ method of a class. They are unique to each object and hold data specific to that object.

Example 1: Creating Instance Variables

    class Person:
        def __init__(self, name, age):
            self.name = name  # Instance variable
            self.age = age    # Instance variable

    person1 = Person("Alice", 30)
    person2 = Person("Bob", 25)

    print(f"Person 1: {person1.name}, {person1.age}")
    print(f"Person 2: {person2.name}, {person2.age}")
        

In this example, the name and age instance variables are initialized for each object using the __init__ method.

Example 2: Modifying Instance Variables

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age

    person = Person("Alice", 30)
    print(f"Before: {person.name}, {person.age}")

    # Modifying instance variables
    person.name = "Alicia"
    person.age = 31
    print(f"After: {person.name}, {person.age}")
        

Instance variables can be modified directly using the dot operator. In this example, the name and age attributes are updated after the object is created.

Instance Methods

Instance methods are functions defined inside a class that operate on the instance variables of an object. They always take self as the first parameter, which refers to the specific object.

Example 3: Defining and Using Instance Methods

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def greet(self):
            return f"Hello, my name is {self.name} and I am {self.age} years old."

    person = Person("Alice", 30)
    print(person.greet())
        

In this example, the greet method is an instance method that returns a greeting message using the instance variables name and age.

Example 4: Instance Methods Modifying Attributes

    class Counter:
        def __init__(self):
            self.count = 0

        def increment(self):
            self.count += 1

        def get_count(self):
            return self.count

    counter = Counter()
    counter.increment()
    counter.increment()
    print(f"Counter: {counter.get_count()}")
        

In this example, the increment method modifies the count instance variable, and the get_count method returns its current value.

Combining Instance Variables and Methods

Instance variables and methods work together to encapsulate the state and behavior of an object.

Example 5: Complete Class with Variables and Methods

    class BankAccount:
        def __init__(self, account_holder, balance=0):
            self.account_holder = account_holder
            self.balance = balance

        def deposit(self, amount):
            self.balance += amount
            return f"${amount} deposited. New balance: ${self.balance}"

        def withdraw(self, amount):
            if amount > self.balance:
                return "Insufficient funds"
            self.balance -= amount
            return f"${amount} withdrawn. Remaining balance: ${self.balance}"

    account = BankAccount("Alice", 100)
    print(account.deposit(50))
    print(account.withdraw(30))
    print(account.withdraw(150))
        

This example defines a BankAccount class with instance variables account_holder and balance. The instance methods deposit and withdraw manipulate the balance attribute.

Key Points

Conclusion

Instance variables and methods are essential building blocks of classes in Python. They allow you to define the state and behavior of individual objects, enabling you to model real-world entities effectively in your code.



Advertisement





Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java