# Python example to check if a class is
# subclass of another
class Base:
pass # Empty Class
class Derived(Base):
pass # Empty Class
# Driver Code
print(issubclass(Derived, Base))
print(issubclass(Base, Derived))
d = Derived()
b = Base()
# b is not an instance of Derived
print(isinstance(b, Derived))
# But d is an instance of Base
print(isinstance(d, Base))
print(isinstance(d, Derived))
# Python example to show that base
# class members can be accessed in
# derived class using base class name
class Base(object):
# Constructor
def __init__(self, x):
self.x = x
class Derived(Base):
# Constructor
def __init__(self, x, y):
Base.x = x
self.y = y
def printXY(self):
# print(self.x, self.y) will also work
print(Base.x, self.y)
# Driver Code
d = Derived(10, 20)
d.printXY()
# A Sample class with init method
class Person:
# init method or constructor
def __init__(self, name):
self.name = name
# Sample Method
def say_hi(self):
print('Hello, my name is', self.name)
p = Person('Ahmed')
p.say_hi()
class Person:
def __init__(self, first, last, age):
self.firstname = first
self.lastname = last
self.age = age
def __str__(self):
#return self.firstname + " " + self.lastname + ", " + str(self.age)
return 'first {}\tlast{}\tage{}'.format(self.firstname, self.lastname, self.age)
class Employee(Person):
def __init__(self, first, last, age, staffnum):
super().__init__(first, last, age)
self.staffnumber = staffnum
def __str__(self):
# return super().__str__() + ", " + self.staffnumber
return '{}\t{}'.format(super().__str__(), self.staffnumber)
p = Person("Ahmed", "Hamad", 36)
e = Employee("Ali", "Jabir", 28, "1007")
print(p)
print(e)
class Person:
def __init__(self, first, last, age, gender, address):
self.firstname = first
self.lastname = last
self.age = age
self.gender = gender
self.address = address
def __str__(self):
return self.firstname + " " + self.lastname + ", " + str(self.age)
def walk(self):
print('my name is {}. I am walking'.format((self.firstname)))
class Student(Person):
def __init__(self, std_id, dept, first, last, age, gender, address):
Person.__init__(first, last, age, gender, address)
self.std_id = std_id
self.dept = dept
def study(self):
print('my name is {}. I am studying'.format((self.firstname)))
def __str__(self):
return self.std_id + ' ' + super().__str__()
p1 = Person('Mohammed', 'Ahmed', 28, 'm', 'Gaza')
print(p1)
s1 = Student('120191122', 'MM', 'Ahmed', 'Ali', 20, 'm', 'Khanyounes')
print(s1)
s1.walk()
s1.study()
class Rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * (self.length + self.width)
r1 = Rectangle(3,4) # rectangle
s1 = Rectangle(3,3) # square
# Here we declare that the Square class inherits from the Rectangle class
class Square(Rectangle):
def __init__(self, x):
super().__init__(x, x)
s2 = Square(3)
class Cube(Square):
def surface_area(self):
face_area = super().area()
return face_area * 6
def volume(self):
face_area = super().area()
return face_area * self.length
square = Square(4)
square.area()
cube = Cube(3)
cube.surface_area()
cube.volume()
class A:
pass
class B(A): # B is child class, A: Parent
pass
class C(B): # C is Child, B is parent
pass
class A:
x = 10
class B(A): # B is child class, A: Parent
y = 10
class C(B): # C is Child, B is parent
z = 30
a = A()
b = B()
c = C()
print(isinstance(a, A))
print(isinstance(a, B))
print(isinstance(b, A))
print(isinstance(b, B))
b = B()
print(b.x)
print(issubclass(B, A))
print(issubclass(A, B))
print(issubclass(C, B))
print(issubclass(C, A))
class X:
pass
class Y:
pass
x1 = X()
x2 = X()
y1 = Y()
y2 = Y()
print(isinstance(x1, X))
print(isinstance(x1, Y))
print(isinstance(y1, X))
def f1(x):
return x*x
print(f1(3))
n = 10
print(f1(n))