Python Class
Class
Class Example MyClass.py
class MyClass:
"""A sample class""" # Documentation
count = 0
VAL = 5.0
def __init__(self, name=""): # Cannot make multiple constructor, we should use default value
self.name = name # instance
MyClass.count += 1
self._firstname = "" # no private, but it should be
def __del__(self): # Deconstructor
print("Delete")
def __str__(self): # toString like Java
return "My name is " + self.name
def getName(self):
return self.name
def setName(self, name):
self.name = name
class MyClass2(MyClass):
def classTwo(self):
print("Hello Two!")
class MyClassC:
def hello(self):
print("Hello!")
class MyClassE(MyClassC, MyClass):
def helloWorld(self):
print("Hello World!")
How to use userClass.py
from MyClass import MyClass
from MyClass import MyClass2
from MyClass import MyClassE
a1 = MyClass()
print(MyClass.VAL)
a1.setName("Big")
print(a1.getName())
a1.bbb = "Hello!" # Add instance var
print(a1.bbb)
a2 = MyClass2()
print(a2.classTwo())
a3 = MyClassE()
a3.helloWorld()
a3.hello()
Class method and Static method
What’s difference between class method and static method.
Class method has class argument and can access class value from arugment
This is example
classsample.py
class Sample:
class_val = "classvar"
@classmethod
def class_method1(cls):
print("%s", cls.class_val) # Can access class var
@staticmethod
def static_method1():
print("%s", Sample.class_val) # Umm...
How to use?
main.py
from classsample import Sample print(Sample.class_val) print(Sample.class_method1()) print(Sample.static_method1())
