abstract data types avoid the use of tuples when storing structured data since it' better practice to use classes with named fields thuswe define the studentrecord class class studentrecord def __init__self )self idnum self firstname none self lastname none self classcode self gpa to store the data related to an individual student you may notice there is only constructor with no additional methods this is complete class as defined and represents storage class the constructor is all that' needed to define the two data fields for storing the two component values storage classes should be defined within the same module as the class with which they will be used for this applicationthe studentrecord class is defined at the end of the studentfile py module some storage classes may be intended for internal use by specific class and not meant to be accessed from outside the module in those casesthe name of the storage class will begin with single underscorewhich flags it as being private to the module in which it' defined the studentrecord classhoweverhas not been defined as being private to the module since instances of the storage class are not confined to the adt but instead are returned to the client code by methods of the studentfilereader class the storage class can be imported along with the studentfilereader class when needed you will note the data fields in the storage class are public (by our notationsince their names do not begin with an underscore as they have been in other classes presented earlier the reason we do not include restrictive interface for accessing the data fields is that storage objects are meant to be used exclusively for storing data and not as an instance of some abstract data type given their limited usewe access the data fields directly as needed implementation the implementation of the student file reader adt does not require data structure since it does not store data but instead extracts data from an external source the adt has to be implemented to extract data based on the format in which the data is stored for this examplewe are going to extract the data from caution python tuples the tuple can be used to store structured datawith each element corresponding to an individual data field this is not good practicehoweversince the elements are not named and you would have to remember what piece of data is stored in each element better practice is to use objects with named data fields in this bookwe limit the use of tuples for returning multiple values from methods and functions