Не совсем уверен, как выглядит вся ваша конструкция, но следующее должно работать ...
from threading import Thread
class A:
def __init__(self):
self.calculate_the_gain_per_year(2000)
def calculate_the_gain_per_month(self, month, this_year):
print("SELECT following_number FROM data_analysis WHERE month = {} AND year ={}".format(month, this_year))
list_of_following_per_month = [] # list of the following number for each day in the current month
gain_following = [] # list of gain of following per day in the month
for index in range(len(list_of_following_per_month) - 1):
gain_following.append(list_of_following_per_month[index + 1] - list_of_following_per_month[index])
return gain_following
def calculate_the_gain_per_year(self, year):
threads = [Thread(target=self.calculate_the_gain_per_month, args=(month, year)) for month in range(12)]
for thread in threads:
thread.start()
a = A()
Конечно, вы также можете вызывать его извне класса, используя объект класса a.calculate_the_gain_per_year(2000)
.