human
Solve the following python programming problem given the following code:
# %load threading_subclass_args.py
import threading
import logging

logging.basicConfig(level=logging.DEBUG,
                    format='(%(threadName)-10s) %(message)s',
                    )

class MyThreadWithArgs(threading.Thread):
    def __init__(self, group=None, target=None, name=None,
                    args=(), kwargs=None):
        threading.Thread.__init__(self, group=group, target=target)
        self.args = args
        self.kwargs = kwargs
        return

    def run(self):
        logging.debug('running with %s and %s', self.args, self.kwargs)
        return

for i in range(5):
    t = MyThreadWithArgs(args=(i,), kwargs={'a':'A', 'b':'B'})
    t.start()

Given the above code, generate some markdown instructions for it.
assistant
#Here is the Python program you requested.

The return value of run() is ignored.  
$ python threading_subclass.py  
(Thread-1  ) running  
(Thread-2  ) running  
(Thread-3  ) running  
(Thread-4  ) running  
(Thread-5  ) running
Because the args and kwargs values passed to the Thread constructor are saved in private variables, they are not easily accessed from a subclass. To pass arguments to a custom thread type, redefine the constructor to save the values in an instance attribute that can be seen in the subclass.