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())