human
Solve the following python programming problem given the following code:
# Create a class by using class keyword followed by name.
class MyClass:
    # The 'self' variable ALWAYS needs to be the first variable given to any class method.
    def __init__(self, message):
        # Here we create a new variable inside "self" called "mess" and save the argument "message"
        #  passed from the constructor to it.
        self.mess = message
    
    def say(self):
        print(self.mess)
    
        
    # Don't normally need to write a destructor - one is created by Python automatically. However we do it here
    # just to show you that it can be done:
    def __del__(self):
        print("Deleting object of type MyClass")
Given the above code, generate some markdown instructions for it.
assistant
#Here is the Python code you requested.

<font color='midnightblue'> Aside - What do all those underscores mean?
They're hidden methods - we'll talk more about these later.
<font color='mediumblue'> Creating a class
Define some key things:
* self - 'self' is a special type of variable which can be used inside the class to refer to itself.
* Methods - a function which is part of a class, and which have access to data held by a class.
* A constructor - a special method which is called when you create an instance of a class. In Python this function must be called "__init__"
* A destructor - a special method which is called when you destroy an instance of a class.
Aside: If you're a C++/Java programmer, 'self' is exactly equivalent to 'this', but functions must have self as an argument, as it is passed in implicitly as the first argument of any method call in Python.