Consider writing an instance method which returns the data. Just for printing convenience.
class PassPort(object): def __init__(self, first_name, middle_name, last_name, gender, YOB, iQ): self.species = 'homo-sapien' self.first_name = first_name self.middle_name = middle_name self.last_name = last_name self.gender = gender self.YOB = YOB # (Year of birth) self.iQ = iQ # (Intelligence Quotient) # the property decorator will make the function accesible as if it is a class attribute @propert def data(self): return (self.first_name, self.middle_name, self.last_name, self.gender, self.YOB, self.iQ) person = ['Jon','Ross','Dobbs','male',1947,44] obj = PassPort(*person)Then, when you want to print it you can just:
print("First:\t{}\n \ Middle:\t{}\n \ Last:\t{}\n \ Gender:\t{}\n \ Birth:\t{}\n \ IQ:\t{}".format(*obj.data)) # instead of typing each class attr
Output:First: Jon
Middle: Ross
Last: Dobbs
Gender: male
Birth: 1947
IQ: 44
Well, the output looks like this. The formatting is lost somewhere: