I'm new to Python and I have factory class that takes in API arguments and with my setup i get a NameError: 'self' is not defined. I understand that my functions calls are wrong. How would I refactor this to have the same logic
import requests
import json
class Call:
    results = []
    __response = None
    __methods= dict(post=self.__post(), get=self.__get())
    def __init__(self, root, endpoint, payload, header):
        self.__root = root
        self.__endpoint = endpoint
        self.__payload = payload
        self.__header = header
    def __post(self):
       self.__response = requests.post(
            self.__root + self.__endpoint, 
            data = json.dumps(self.__payload), 
            headers = self.__header
        )
       self.__get_results()
    def __get(self):
       self.__response = requests.get(
            self.__root + self.__endpoint, 
            data = json.dumps(self.__payload), 
            headers = self.__header
        )
       self.__get_results()
    def __get_results(self):
        if (self.__response.ok):
            data = json.loads(self.__response.content)
            results.append(
                {
                    'result':data['result'], 
                    'endpoint': self.__endpoint, 
                    'status' : response.status_code
                }
            ) 
        else:
            results.append(
                {
                    'result':'FAILED', 
                    'endpoint': self.__endpoint, 
                    'status' : response.status_code
                }
            )
    def method(self, method):
        return self.__methods[method]
login = Call(
    Url.V1_PROD, 
    DriverEndpoint.LOGIN, 
    DriverPayload.LOGIN, 
    Request.HEADER
)
login.method('post')
 
     
     
     
    