types of variables and methods in class

In Python classes, you can have different types of variables and methods, each with a specific scope and purpose. They are primarily categorized based on whether they belong to the class itself or to an object (instance) of the class.


1. Types of Variables

Variables in a class are called attributes.

a. Instance Variables 🧑‍💻

These variables are unique to each object (instance) of the class. They are defined inside the __init__ constructor and are prefixed with self.. Each object gets its own copy of these variables.

Example:

  • For a Car class, color, make, and model are instance variables.
  • A red Honda Civic and a blue Toyota Corolla are two different objects of the Car class, and their color and make properties are unique to each one.

Python

class Car:
    def __init__(self, color, make):
        self.color = color  # Instance variable
        self.make = make    # Instance variable

my_car = Car('red', 'Honda')
your_car = Car('blue', 'Toyota')

print(my_car.color)   # Output: red
print(your_car.color) # Output: blue

b. Class Variables ⚙️

These variables are shared by all objects of the class. They are defined directly inside the class but outside of any method. Class variables are useful for storing data that is common to all instances.

Example:

  • For a Car class, wheels could be a class variable, since all cars (generally) have four wheels.
  • wheels = 4 is defined once and is accessible by all Car objects.

Python

class Car:
    wheels = 4  # Class variable

    def __init__(self, color):
        self.color = color

car1 = Car('red')
car2 = Car('blue')

print(car1.wheels) # Output: 4
print(car2.wheels) # Output: 4

2. Types of Methods

Methods in a class are called based on how they access and manipulate class or instance variables.

a. Instance Methods 🏃‍♂️

These are the most common type of methods. They must have self as their first parameter. They can access and modify both instance variables and class variables.

Example:

  • The accelerate() method in a Car class is an instance method. It needs to access and change the speed instance variable of that specific car.

Python

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

    def accelerate(self, increment): # Instance method
        self.speed += increment

my_car = Car(60)
my_car.accelerate(10)
print(my_car.speed) # Output: 70

b. Class Methods 📊

These methods are associated with the class itself, not with a specific object. They are defined using the @classmethod decorator and take cls (for class) as their first parameter instead of self. They can only access class variables, not instance variables.

Example:

  • A Car class might have a class method to create a car with a standard color.

Python

class Car:
    # A class variable
    standard_color = 'silver'

    def __init__(self, color):
        self.color = color
        
    @classmethod
    def get_standard_car(cls): # Class method
        return cls(cls.standard_color)

car = Car.get_standard_car()
print(car.color) # Output: silver

c. Static Methods 🛠️

Static methods are general-purpose utility methods that belong to the class but do not interact with either instance or class variables. They are defined using the @staticmethod decorator and do not take self or cls as a parameter. They are essentially regular functions that are logically grouped with the class.

Example:

  • A static method get_vehicle_type() in a Vehicle class might just return a string like "This is a land vehicle." It doesn’t need to know anything about a specific vehicle instance or the class’s shared data.

Python

class Vehicle:
    @staticmethod
    def get_vehicle_type(): # Static method
        return "This is a land vehicle."

print(Vehicle.get_vehicle_type()) # Output: This is a land vehicle.

Similar Posts

  • What is PyCharm? Uses, History, and Step-by-Step Installation Guide

    What is PyCharm? PyCharm is a popular Integrated Development Environment (IDE) specifically designed for Python development. It is developed by JetBrains and is widely used by Python developers for its powerful features, ease of use, and support for various Python frameworks and tools. PyCharm is available in two editions: Uses of PyCharm PyCharm is a…

  •  List Comprehensions 

    List Comprehensions in Python (Basic) with Examples List comprehensions provide a concise way to create lists in Python. They are more readable and often faster than using loops. Basic Syntax: python [expression for item in iterable if condition] Example 1: Simple List Comprehension Create a list of squares from 0 to 9. Using Loop: python…

  •  Duck Typing

    Python, Polymorphism allows us to use a single interface (like a function or a method) for objects of different types. Duck Typing is a specific style of polymorphism common in dynamically-typed languages like Python. What is Duck Typing? 🦆 The name comes from the saying: “If it walks like a duck and it quacks like…

  • Mathematical Functions

    1. abs() Syntax: abs(x)Description: Returns the absolute value (non-negative value) of a number. Examples: python # 1. Basic negative numbers print(abs(-10)) # 10 # 2. Positive numbers remain unchanged print(abs(5.5)) # 5.5 # 3. Floating point negative numbers print(abs(-3.14)) # 3.14 # 4. Zero remains zero print(abs(0)) # 0 # 5. Complex numbers (returns magnitude) print(abs(3 +…

  • Python Input Function: A Beginner’s Guide with Examples

    The input() function in Python is used to take user input from the keyboard. It allows your program to interact with the user by prompting them to enter data, which can then be used in your code. By default, the input() function returns the user’s input as a string. Syntax of input() python Copy input(prompt) Key Points About input() Basic Examples of input() Example…

  • Functions as Objects

    Functions as Objects and First-Class Functions in Python In Python, functions are first-class objects, which means they can be: 1. Functions as Objects In Python, everything is an object, including functions. When you define a function, you’re creating a function object. python def greet(name): return f”Hello, {name}!” # The function is an object with type ‘function’…

Leave a Reply

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