Posts

Class methods as alternative constructor

class Employee: no_of_leaves = 8 def __init__ ( self , aname , asalary , arole): self .name = aname self .salary = asalary self .role = arole @classmethod def from_str ( cls , string): '''params=string.split("-") return cls(params[0],params[1],params[2])''' return cls (*string.split( "-" )) karan = Employee.from_str( "karan-25000-datascientist" ) print (karan.salary)

Abstract base class & @abstractmethod

from abc import ABCMeta , abstractmethod # abstract base class # In this class u cannot make objects class shape( metaclass =ABCMeta): def printarea ( self ): return 0 class rectangle(shape): type = "rectangle" sides = 4 def __init__ ( self ): self .length = 6 self .breadth = 7 def printarea ( self ): return self .length * self .breadth rect1 = rectangle() print (rect1.printarea())

Multilevel inheritance

class dad: basketball = 1 class son(dad): basketball = 9 dance = 1 def isdance ( self ): return f"yea i dance { self .dance } no if times" class grandson(son): dance = 6 # def isdance(self): # return f"jackson can dance very awesomly {self.dance} no of times" darry = dad() larry = son() harry = grandson() print (harry.isdance()) print (harry.basketball)

Multiple inheritance

class Employee: var = 8 no_of_leaves = 8 def __init__ ( self , aname , asalary , arole): self .name = aname self .salary = asalary self .role = arole def printdetails ( self ): return f"name is { self .name } salary is { self .salary } role is { self .role } " @classmethod def change_leave ( cls , newleave): cls .no_of_leaves = newleave class player: var = 9 no_of_game = 4 def __init__ ( self , aname , agame): self .name = aname self .game = agame def printdetails ( self ): return ( f"the name is { self .name } game is { self .game } " ) class coolprogrammer(Employee , player): var = 10 language = "C++" def printlanguage ( self ): print ( self .language) harish = Employee( "harish" , 45000 , "front end" ) shiva = Employee( "shiva" , 50000 , "back end" ) virat = player( "virat" , [ ...

Single inheritance

class Employee: no_of_leaves = 8 def __init__ ( self , aname , asalary , arole): self .name = aname self .salary = asalary self .role = arole def empdetails ( self ): return f"name is { self .name } salary is { self .salary } role is { self .role } " @classmethod def change_leave ( cls , newleave): cls .no_of_leaves = newleave class programmer(Employee): def __init__ ( self , aname , asalary , arole , lang): self .name = aname self .salary = asalary self .role = arole self .language = lang def progdetails ( self ): return ( f"the programmer name is { self .name } salary is { self .salary } role is { self .role } language is { self .language } " ) harish = Employee( "harish" , 45000 , "front end" ) shiva = Employee( "shiva" , 50000 , "back end" ) raj = programmer( "raj" , 100000 , "data sci...

Public, protected & private

  # public- # protected- # private- class myclass: class_teacher = "sajita" # public _protected = "chocolate" # protected __private = "gf" # private def __init__ ( self , aname , aaim): self .name = aname self .aim = aaim student1 = myclass( "harish" , "software developer" ) print (student1._protected) print (student1._myclass__private) # the process of calling private value is called name mangling

Map filter & reduce

# -------------------MAP---------------------] '''numbers=["1","5","99","54"] numbers=list(map(int,numbers)) for i in range(len(numbers)): numbers[i]= int(numbers[i]) numbers[2]=numbers[2]+1 #print(numbers[2]) def sq(a): return (a*a) num=[2,4,5,77,100,34,3,45] square=list(map(sq,num)) print(square)''' '''num=[2,4,5,77,100,34,3,45] square=list(map(lambda x:x*x,num)) print(square)''' '''def square(a): return (a*a) def cube(a): return(a*a*a) func=[square,cube] for i in range(5): val=list(map(lambda x:x(i),func)) print(val)''' # -------------------FILTER---------------------- '''list_1=[1,2,3,4,5,6,7,8,9] def is_greater_5(num): return num>5 is_greater_5=list(filter(is_greater_5,list_1)) print(is_greater_5)''' # -------------------REDUCE-------------------- '''list1=[2,3,4,5] num=0 for i in list1: num+=i print(num)...