Python is Object Oriented language
Class
is an object constructor or a "blueprint" for creating objects
Creating a Class; created class named MyClass
with property x
class MyClass: x = 5
Creating an object; created an object name class_one
using MyClass
and printed the property of x
class_one = MyClass() print(class_one.x) # 5
__init__
All functions have class called __init__()
which is always executed when class is initiated
Use the __init__()
function to assign values to object properties. It also requires self
to be passed as a first parameter
class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person("John", 36) print(p1.name) # "John" print(p1.age) # 36
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("John", 36) p1.myfunc()
The self
parameter is a reference to the current instance of the class, and is used to access variables that belong to the class
It does not have to be named self
, you can call it whatever you like, but it has to be the first parameter of any function in the class
class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Hello my name is " + abc.name) p1 = Person("John", 36) p1.myfunc()
p1.age = 40
del p1.age # deletes age property del p1 # deletes the p1 object