I'm trying to wrap my head around how to utilize inheritance in some code I'm writing for an API. I have the following parent class which holds a bunch of common variables that I'd like to instantiate once, and inherit with other classes to make my code look cleaner:
class ApiCommon(object):
    def __init__(self, _apikey, _serviceid=None, _vclversion=None,
                 _aclname=None, _aclid=None):
        self.BaseApiUrl = "https://api.fastly.com"
        self.APIKey = _apikey
        self.headers = {'Fastly-Key': self.APIKey}
        self.ServiceID = _serviceid
        self.VCLVersion = _vclversion
        self.ACLName = _aclname
        self.ACLid = _aclid
        self.Data = None
        self.IP = None
        self.CIDR = None
        self.fullurl = None
        self.r = None
        self.jsonresp = None
        self.ACLcomment = None
        self.ACLentryid = None
And I am inheriting it in another class below, like so in a lib file called lib/security.py:
from apicommon import ApiCommon
class EdgeAclControl(ApiCommon):
    def __init__(self):
        super(EdgeAclControl, self).__init__()
    ...
    def somemethodhere(self):
        return 'stuff'
When I instantiate an object for ApiCommon(object), I can't access the methods in EdgeAclControl(ApiCommon). Example of what I'm trying which isn't working:
from lib import security
gza = security.ApiCommon(_aclname='pytest', _apikey='mykey',
                        _serviceid='stuffhere', _vclversion=5)
gza.somemethodhere()
How would I instantiate ApiCommon and have access to the methods in EdgeAclControl?
EdgeAclControlinstead.ApiControltho. i.egza = security.EdgeAclControl(_aclname='pytest', _apikey='stuff', _serviceid='stuff', _vclversion=5)I dont have access to_apikeyetcself.APIKeyI would have to just assign it inside of the object. i.e.a.APIKey='blah'?