Python OOP

Create a Class

class MyClass:
    x = 5
print(MyClass.x)
# 5

p1 = MyClass()
print(p1.x)
# 5
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def myfunc(self):
        print("Hello my name is " + self.name)

p1 = Person("Jack", 36)
print(p1.name)
print(p1.age)
p1.myfunc()
# Jack
# 36
# Hello my name is Jack

Python Inheritance

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

x = Person("John", "Doe")
x.printname()
# John Doe
class Student(Person):
    def __init__(self, fname, lname, year):
        super().__init__(fname, lname)
        self.graduationyear = year

    def welcome(self):
        print("Welcome", self.firstname, self.lastname
              , "to the class of", self.graduationyear)

x = Student("Mike", "Olsen", 2019)
x.printname()
x.welcome()
# Mike Olsen
# Welcome Mike Olsen to the class of 2019