I have edited using some of your comments below. I am just looking to have a default value for a parameter where one is not provided. I still do not get any values when I run the following two lines. There are now default values for the variables that will be used if the class is called without data
newPatient = patient()
print(newPatient.firstname)
import os
from sikuli import *
class patient():
firstname = ""
middlename = ""
Surname = ""
title = ""
ppsno = ""
gender = ""
testID = ""
birthDate = ""
address1 = ""
address2 = ""
address3 = ""
address4 = ""
town = ""
county = ""
country = ""
email = ""
mobile = ""
#Default Constructor for the class patient
#Use this to create a patient with more detailed information
def __init__(
self,
testID,
firstname = 'Sample',
middlename = 'Mary',
surname = 'Patient',
gender = 'Female',
birthDate = '03091959',
title = 'Mrs',
ppsno = '7445213P',
address1 = '100',
address2 = 'Green Glade',
address3 = 'Pleasant Way',
address4 = 'Ballybehy',
town = 'Abbyfeale',
county = 'Limerick',
country = 'Ireland',
email = '[email protected]',
mobile = '0870563229'):
self.testID = testID
self.firstname = firstname
self.middlename = middlename
self.surname = surname
self.gender = gender
self.birthDate = birthDate
self.title = title
self.ppsno = ppsno
self.address1 = address1
self.address2 = address2
self.address3 = address3
self.address4 = address4
self.town = town
self.county = county
self.country = country
self.email = email
self.mobile = mobile
def getfirstname(self):
return self.firstname
class schemeDetails():
cardNumber = ""
scheme = ""
cardNumber = ""
month = ""
year = ""
setSchemeAsDefault = ""
def __init__(
self,
scheme = None,
cardNumber = None,
month = None,
year = None,
setSchemeAsDefault = None ):
if (scheme is None):
scheme = "GM"
self.scheme = scheme
if (cardNumber is None):
month = "1231456A"
self.cardNumber = cardNumber
if (month is None):
month = "September"
self.month = month
if (year is None):
year = "2015"
self.year = year
if (setSchemeAsDefault is None):
setSchemeAsDefault = "true"
self.setSchemeAsDefault = setSchemeAsDefault
def getStuff(self):
return self.stuff
#Inner class for creating basic dispenses
class basicDispense():
drug = ""
packSize = ""
dosageSystem = ""
scheme = ""
#Constructor for the class basicDispense
def __init__(
self,
drug = None,
packSize = None,
dosageSystem = None,
scheme = None):
if (drug is None):
drug = "ABBOTT THIN LANCET TYPE C GMS"
self.drug = drug
if (packSize is None):
packSize = "28"
self.packSize = packSize
if (dosageSystem is None):
dosageSystem = "MD"
self.dosageSystem = dosageSystem
if (scheme is None):
scheme = "GM"
self.scheme = scheme
def getStuff(self):
return self.stuff
#Inner class of basicDispenses for printing Labels
#Constructor for the class Labels
class labels():
def __init__(
self,
testID,
printBagLabel = None,
printDrugLabel = None):
self.testID = testID
if (printBagLabel is None):
printBagLabel = "false"
self.drug = drug
if (printDrugLabel is None):
printDrugLabel = "false"
self.printDrugLabel = printDrugLabel
firstname = "Sample"followed byself.firstname = firstname. Justself.firstname = 'Sampleis enough. On the other hand even this is strange in this context. Just use the solution from Martin Konecny's answer.