Home > Net >  I'm VERY new to coding, but I'm trying to figure out why my print function is not resultin
I'm VERY new to coding, but I'm trying to figure out why my print function is not resultin

Time:11-08

I've created a class named Patient that has attributes for patient information. I'm supposed to use an accessor and mutator method for each attribute. Then I've created another file to access the class and insert patient information to print. Every time I print I don't get what I expect but I get <Assignment4Q1PatientClass2nd.Patient object at 0x000002429E038A00>.

Here's what is on my first file (File name is Assignment4Q1PatientClass2nd):

class Patient:

def __init__(self, fname, mname, lname, address, city, state, zipcode, phone, ename, ephone):
    self._fname = fname       #first name
    self._mname = mname       #middle name
    self._lname = lname       #last name
    self._address = address   #address
    self._city = city         #city for address
    self._state = state       #state for address
    self._zipcode = zipcode   #zipcode for address
    self._phone = phone       #phone number
    self._ename = ename       #emergency name
    self._ephone = ephone     #emergency phone
    
#add patient information    
def addFirstName(self, firstname):
    self._fname = self._fname   firstname 
def addMiddleName(self, middlename):
    self._mname = self._mname   middlename 
def addLastName(self, lastname):
    self._lname = self._lname   lastname
def addAddress(self, locaddress):
    self._address = self._address   locaddress
def addCity(self, cityname):
    self._city = self._city   cityname 
def addState(self, statename):
    self._state = self._state   statename
def addZipcode(self, zipcodenum):
    self._zipcode = self._zipcode   zipcodenum
def addPhone(self, phonenum):
    self._phone = self._phone   phonenum
def addEName(self, emergencyname):
    self._ename = self._ename   emergencyname
def addEPhone(self, emergencyphone):
    self._ephone = self._ephone   emergencyphone
    
#get/return all information of the Patient
def getPatientFirstName(self):
    return "First Name:"   self._fname
def getPatientMiddleName(self):
    return "Middle Name:"   self._mname
def getPatientLastName(self):
    return "Last Name:"   self._lname 
def getPatientAddress(self):
    return "Address:"   self._address  
def getPatientCity(self):
    return "City:"   self._city 
def getPatientState(self):
    return "State:"   self._state
def getPatientZipcode(self):
    return "ZIP:"   self._zipcode   
def getPatientPhone(self):
    return "Phone:"   self._phone 
def getPatientEName(self, emergencyname):
    return "Emergency Contact:"   self._ename 
def getPatientEPhone(self, emergencyphone):
    return "Emergency Phone:"   self._ephone

on the second file is:

from Assignment4Q1PatientClass2nd import Patient

pat = Patient("James", "Edward", "Jones", "345 Main Street", "Billings", "Montanna", 59000, "406-555-1212", "Jenny Jones", "406-555-1213")

print(pat)


CodePudding user response:

I see () try specifying the data different data type maybe

let's see what happens

CodePudding user response:

What did you expect from your print statement? The class actually don't "know" what to print. You must provide a way to represent that class as a string, so we can print that string.

In practice, we do this by adding a function called "__repr__", the representation of this class. Python automatically identifies this as a especial one, just like "__init__".

Here is a small example to you:

class Patient:
    def __init__(self, name):
        self._name = name
    def getPatientName(self):
        return self._name
    def __repr__(self):
        return "Hey! My name is "   self.getPatientName()

pat = Patient("Dikson")
print(pat)
# Hey! My name is Dikson

Hope it's clear :)

  • Related