Thursday, 14 May 2020

Python OOPs - Class, Parameters, Constructor, Inheritance (Multi Level, Multiple)

#Create the first class in python

class Phone:
    def make_call(self):
        print("Let's make a phone call")
    
    def play_game(self):
        print("Let's play a game")
        
p1 = Phone()
p1.make_call()
p1.play_game()



#Adding parameters to a class method
class Phone:
    def set_color(self,color):
        self.color=color
        
    def set_cost(self,cost):
        self.cost=cost
        
    def show_color(self):
        return self.color
    
    def show_cost(self):
        return self.cost
    
    def play_game(self):
        print("Playing a game")
        
    def make_call(self):
        print("Making a call")
        
p1=Phone()
p1.set_color("Blue")
p1.set_cost(500)

p1.show_cost()

500

p1.show_color()

'Blue'


p1.play_game()
p1.make_call()

Playing a game
Making a call


#creating a class with constructor

class Employee:
    def __init__(self,name,age,gender,city,salary,pin):
        self.name=name
        self.age=age
        self.gender=gender
        self.city=city
        self.salary=salary
        self.pin=pin
        
    def show_details(self):
        print("Name : {}, Age : {}, Gender: {}, City: {}, Salary: {}, Pin: {}".format(self.name,self.age,self.gender,self.city,self.salary,self.pin))
        
        
e1 = Employee("Sankara",43,'M','Bangalore',67000,560093)
e1.show_details()

Name : Sankara, Age : 43, Gender: M, City: Bangalore, Salary: 67000, Pin: 560093




#Inheritance example:
#Multiple Inheritance
class Parent1:
    def assign_str1(self,str1):
        self.str1 = str1
        
    def show_str1(self):
        print(self.str1)
        
class Parent2:
    def assign_str2(self,str2):
        self.str2 = str2
    
    def show_str2(self):
        print(self.str2)
        
class Child(Parent1, Parent2):
    def assign_str3(self,str3):
        self.str3 = str3
        
    def show_str3(self):
        print(self.str3)

c1 = Child()
c1.assign_str1("I")
c1.assign_str2("Love")
c1.assign_str3("India")

c1.show_str1()

I

c1.show_str2()

Love

c1.show_str3()

India




#Multi Level inheritance

class Parent:
    def assign_name(self,name):
        self.name = name
        
    def show_name(self):
        return self.name
    
class Child(Parent):
    def assign_age(self,age):
        self.age=age
        
    def show_age(self):
        return self.age
    
class GrandChild(Child):
    def assign_gender(self,gender):
        self.gender=gender
        
    def show_gender(self):
        return self.gender
g1 = GrandChild()
g1.assign_name("Anbu")
g1.assign_age(5)
g1.assign_gender("F")

name = g1.show_name()
age = g1.show_age()
gender = g1.show_gender()

print("Name : {}, Age : {}, Gender : {}".format(name,age,gender))

Name : Anbu, Age : 5, Gender : F



Flume - Simple Demo

// create a folder in hdfs : $ hdfs dfs -mkdir /user/flumeExa // Create a shell script which generates : Hadoop in real world <n>...