Class Variables Andmethds

UpComing SoftWare Training Demos

🚀 *Gen AI Engineer Telugu (Production Focused)*
🗓️ *Date:* 30th Sept 2026, 07:00AM IST
📝 *Register Now!:*
https://www.vlrt.in/gr
👥 *Join WA Community:*
https://www.vlrt.in/gw
💡*Course Content:*
https://www.vlrt.in/ai
▶️ *Demo Videos:*
https://www.vlrt.in/gv

🚀 *Service now Admin/ Development (ITSM)FREE Demo in Telugu*
🗓️ *Date:* 30th Sept 2026, 08:00AM IST
📝 *Register Now!:*
https://www.vlrt.in/7r
👥 *Join WA Community:*
https://www.vlrt.in/7w
💡*Course Content:*
https://www.vlrt.in/7c
▶️ *Demo Videos:*
https://www.vlrt.in/7v

🚀 *Vulnerability Management Training Demo*
🗓️ *Date:* 30th Sept 2026, 09:00 AM IST
📝*Register Now!:*
https://www.vlrt.in/vr
👥 *Join Community:*
https://www.vlrt.in/cw
💡 *Course Content:*
https://www.vlrt.in/vc
▶️ *Demo Videos:*
https://www.vlrt.in/Vm

Class Variables

Class variables are variables that are shared by all instances of a class. They are defined directly within the class but outside of any method. Unlike instance variables, which are unique to each object, a single copy of a class variable is shared among all objects of that class. They are useful for storing data that is common to all instances, such as constants or default values.

Example:

Consider a School class. All students in the school share the same school name. This can be stored as a class variable.

class School:
    # This is a class variable
    school_name = "Springfield Elementary"

    def __init__(self, student_name):
        self.student_name = student_name  # This is an instance variable

# Creating two student objects
student1 = School("Bart Simpson")
student2 = School("Lisa Simpson")

print(f"{student1.student_name} attends {student1.school_name}.")
print(f"{student2.student_name} attends {student2.school_name}.")

# You can also access the class variable directly from the class
print(School.school_name)

In this example, school_name is a class variable. Both student1 and student2 objects access the exact same value for school_name.


Methods

Methods are functions defined inside a class that describe the behaviors of an object. There are two main types of methods related to class and instance variables:

  1. Instance Methods: These are the most common type of method. They operate on an instance of a class and can access both instance and class variables. They always have self as their first parameter, which refers to the specific object the method is called on.
  2. Class Methods: These methods operate on the class itself, not on an instance. They are declared with the @classmethod decorator and take cls (short for class) as their first parameter, which refers to the class itself. They are often used to create factory methods or to modify class variables.

Example:

Let’s expand the School class with both types of methods.

class School:
    # Class variable
    school_name = "Springfield Elementary"
    total_students = 0

    def __init__(self, student_name):
        self.student_name = student_name
        School.total_students += 1  # Incrementing the class variable

    # Instance Method
    def get_student_info(self):
        return f"{self.student_name} is a student at {self.school_name}."

    # Class Method
    @classmethod
    def get_total_students(cls):
        return f"The total number of students is {cls.total_students}."

# Creating student objects
student1 = School("Bart Simpson")
student2 = School("Lisa Simpson")

# Calling the instance method
print(student1.get_student_info())

# Calling the class method using the class
print(School.get_total_students())

In this example, get_student_info is an instance method that uses self to access the specific student’s name. get_total_students is a class method that uses cls to access and report the shared total_students variable for the entire class.

This program demonstrates the use of class variables, instance variables, and different types of methods in Python. It creates a School class to manage student information and a total count of students.

Class and Instance Variables

  • school_name = "Springfield Elementary": This is a class variable. It’s defined directly inside the class and is shared by all objects created from the School class.
  • total_students = 0: This is also a class variable. It keeps a running count of all School objects created.
  • self.student_name = student_name: This is an instance variable. It’s created within the __init__ method and is unique to each individual student object (student1, student2, etc.).

Methods

  • __init__(self, student_name): This is the constructor method. It’s called automatically whenever a new School object is created. It initializes the unique student_name for that object and increments the shared total_students class variable.
  • get_student_info(self): This is an instance method. It uses the self parameter to access and return a string that includes both the unique student_name (an instance variable) and the shared school_name (a class variable) for a specific object.
  • get_total_students(cls): This is a class method, indicated by the @classmethod decorator. It takes cls (the class itself) as its first parameter instead of self (the instance). This method can only access and operate on class variables, such as cls.total_students. It’s called on the class itself (School.get_total_students()) rather than on an object.

Program Flow

  1. student1 = School("Bart Simpson"): A new School object is created. The __init__ method is called, setting student1.student_name to “Bart Simpson” and incrementing School.total_students to 1.
  2. student2 = School("Lisa Simpson"): Another School object is created. __init__ is called again, setting student2.student_name to “Lisa Simpson” and incrementing School.total_students to 2.
  3. print(student1.get_student_info()): The get_student_info instance method is called on the student1 object. It returns the string “Bart Simpson is a student at Springfield Elementary.”
  4. print(School.get_total_students()): The get_total_students class method is called on the School class. It returns the string “The total number of students is 2.”

Similar Posts

  • group() and groups()

    Python re group() and groups() Methods Explained The group() and groups() methods are used with match objects to extract captured groups from regex patterns. They work on the result of re.search(), re.match(), or re.finditer(). group() Method groups() Method Example 1: Basic Group Extraction python import retext = “John Doe, age 30, email: john.doe@email.com”# Pattern with multiple capture groupspattern = r'(\w+)\s+(\w+),\s+age\s+(\d+),\s+email:\s+([\w.]+@[\w.]+)’///The Pattern: r'(\w+)\s+(\w+),\s+age\s+(\d+),\s+email:\s+([\w.]+@[\w.]+)’Breakdown by Capture…

  • Indexing and Slicing in Python Lists Read

    Indexing and Slicing in Python Lists Read Indexing and slicing are fundamental operations to access and extract elements from a list in Python. 1. Indexing (Accessing Single Elements) Example 1: Basic Indexing python fruits = [“apple”, “banana”, “cherry”, “date”, “fig”] # Positive indexing print(fruits[0]) # “apple” (1st element) print(fruits[2]) # “cherry” (3rd element) # Negative indexing print(fruits[-1]) # “fig”…

  • Escape Sequences in Python

    Escape Sequences in Python Escape sequences are special character combinations that represent other characters or actions in strings. Here’s a complete list of Python escape sequences with two examples for each: 1. \\ – Backslash python print(“This is a backslash: \\”) # Output: This is a backslash: \ print(“Path: C:\\Users\\Name”) # Output: Path: C:\Users\Name 2. \’ – Single quote…

  • Tuples

    In Python, a tuple is an ordered, immutable (unchangeable) collection of elements. Tuples are similar to lists, but unlike lists, they cannot be modified after creation (no adding, removing, or changing elements). Key Features of Tuples: Syntax: Tuples are defined using parentheses () (or without any brackets in some cases). python my_tuple = (1, 2, 3, “hello”) or (without…

  • 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…

Leave a Reply

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