python Beginners Cheatsheet – Classes

What Are Classes in Python ?

Classes are the foundation of object-oriented programming. Classes represent real-world things you want to model in your programs: for example dogs, cars, and robots. You use a class to make objects, which are specific instances of dogs, cars, and robots. A class defines the general behavior that a whole category of objects can have, and the information that can be associated with those objects.

Classes can inherit from each other – you can write a class that extends the functionality of an existing class. This allows you to code efficiently for a wide variety of situations.

Creating and Using Classes In Python ?

Consider how we might model a car. What information would we associate with a car, and what behavior would it have? The information is stored in variables called attributes, and the behavior is represented by functions. Functions that are part of a class are called methods.

The Car class

class Car():     
"""A simple attempt to model a car."""

    def __init__(self, make, model, year):
    """Initialize car attributes."""

    self.make = make         
    self.model = model         
    self.year = year 

    # Fuel capacity and level in gallons.         
    self.fuel_capacity = 15         
    self.fuel_level = 0 

    def fill_tank(self):
    """Fill gas tank to capacity."""  
       
    self.fuel_level = self.fuel_capacity 
    print("Fuel tank is full.")

   def drive(self):         
   """Simulate driving.""" 
        
   print("The car is moving.")


Creating and Using Class (Cont)

Creating an object from a class

my_car = Car('audi', 'a4', 2016) 

#Accessing attribute values 

print(my_car.make)
print(my_car.model) 
print(my_car.year) 

#Calling methods 

my_car.fill_tank() 
my_car.drive() 

#Creating multiple objects 

my_car = Car('audi', 'a4', 2016) 
my_old_car = Car('subaru', 'outback', 2013) 
my_truck = Car('toyota', 'tacoma', 2010) 

Modifying Attributes

See also  How to Speed Up the Website & Increase its Revenue.

You can modify an attribute’s value directly, or you can write methods that manage updating values more carefully.

#Modifying an attribute directly 
my_new_car = Car('audi', 'a4', 2016) 
my_new_car.fuel_level = 5 

#Writing a method to update an attribute's value 
def update_fuel_level(self, new_level): 
    """Update the fuel level."""     
    if new_level <= self.fuel_capacity:         
        self.fuel_level = new_level     
    else:         
        print("The tank can't hold that much!"

#Writing a method to increment an attribute's value 
def add_fuel(self, amount):
     """Add fuel to the tank."""     
    if (self.fuel_level + amount <= self.fuel_capacity):
        self.fuel_level += amount         
        print("Added fuel.")     
    else:         
        print("The tank won't hold that much."

Tip : Naming Conventions

‘In Python class names are written in CamelCase and object names are written in lowercase with underscores. Modules that contain classes should still be named in lowercase with underscores.’

Class Inheritance

If the class you’re writing is a specialized version of another class, you can use inheritance. When one class inherits from another, it automatically takes on all the attributes and methods of the parent class. The child class is free to introduce new attributes and methods, and override attributes and methods of the parent class. To inherit from another class include the name of the parent class in parentheses when defining the new class.

#The __init__() method for a child class 

class ElectricCar(Car):
     """A simple model of an electric car."""  
    def __init__(self, make, model, year):
         """Initialize an electric car."""         
        super().__init__(make, model, year)  
        # Attributes specific to electric cars.         
        # Battery capacity in kWh.         
        self.battery_size = 70         
        # Charge level in %.         
        self.charge_level = 0

#Adding new methods to the child class 
class ElectricCar(Car):        
    def charge(self):         
        """Fully charge the vehicle."""         
        self.charge_level = 100         
        print("The vehicle is fully charged.") 

#Using child methods and parent methods 
my_ecar = ElectricCar('tesla', 'model s', 2016)  
my_ecar.charge() 
my_ecar.drive() 

Tip : Finding Your Workflow

See also  Top 5 laptops around 50000 for Programmers.

There are many ways to model real world objects and situations in code, and sometimes that variety can feel overwhelming. Pick an approach and try it – if your first attempt doesn’t work, try a different approach.

Leave a Comment

Your email address will not be published.

Ads Blocker Image Powered by Code Help Pro
Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Refresh