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