Python Language OOP

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

TODO

  • How to call a method from inside the constructor. If I try, the compiler says "Unresolved reference"

Overview

Attributes and methods.

Class

class MyClass:
  def __init__(self):
    pass

The class may be declared with parentheses, but the IDE static checks find those as "redundant":

class MyClass():
  ...

Static Initialization at Class Level

To perform an initialization once, upon creation of the type in the class' namespace, place the code directly under the code definition: All methods placed into the class are also "executed" - like when defining a function in the global namespace - but they are not calling.

class MyClass:
  # executed only once upon creation of the type
  pattern = re.compile(r'^(\w+):(\w+)-(\w+)$')

  def __init__(self):
    ...
  def my_method(self):
    ...

Methods

Special Methods

__str__()

__str__() is used by print(), str() and the string formatters to produce a string representation of an instance.

class MyClass:
  ...
  def __str__(self):
      return self.name + ', ' + self.color

Static Methods

Initialization

Inheritance

Overriding

Polymorphism

.