Apologies for this newbie question. I'm not sure if I even phrased it correctly.
I have a class inside a function that lists a bunch of variables, and I want to be able to choose which variables are printed and returned at the final function call. However, I clearly don't understand enough about objects to accomplish this, because it raises errors when I try to attempt something.
def gpscall(call):
    #Write GPSinput
    out = ''
    ser.write(com.GPSstatus.encode())
    time.sleep(1)
    #Read output
    while ser.inWaiting() > 0:
        decoded = (ser.read(1).decode)
        out += decoded()
    strlen = len(str(out))
    substr = out[0:strlen-9]
    #GPS? information list
    variables = substr.splitlines()
    #Storing each output in a variable
    class GPS:
        PULSE_SAWTOOTH = [int(s) for s in variables[1] if s.isdigit()]
        TRACKED_SATELLITES = [int(s) for s in variables[2] if s.isdigit()]
        VISIBLE_SATELLITES = [int(s) for s in variables[3] if s.isdigit()]
        LONGITUDE = variables[5]
        longlen = len(LONGITUDE)
        LONGDEG = LONGITUDE[0:longlen-7]
        LONGMIN = LONGITUDE[longlen-7:]
        LATITUDE = variables[6]
        latlen = len(LATITUDE)
        LATDEG = LATITUDE[0:latlen-7]
        LATMIN = LATITUDE[latlen-7:]
        HEIGHT = variables[7]
        KNOTS = variables[8]
        DEGREES = [9]
        GPS_STATUS = variables[10]
        TIMING_MODE = variables[17] 
        FIRMWARE_VERSION = variables[20]
    print (call)
    return (call)
if __name__ == "__main__":
    #Call the functions
    gpscall(gpscall.GPS.LATITUDE)
This raises the error,
Function 'gpscall' has no 'GPS' member.
I don't understand why it cannot see the class, I think I'm using the function parameters incorrectly.
Any help with my poorly written code would be greatly appreciated.
 
     
    