Thanks again for the help, A little followup. For my applicant class I have a few initial values that need to be set but I what to choose the value (actually the calculation to set the value) for each applicant (instance?) Here is the start of my Applicant Class
class Applicant(object): "quality is refers to the quality of the Applicant observe refers to the accuracy of which they assess the quality of the school" def __init__(self, quality = 0, observe = 0): self. quality = quality self. observe = observe def Quality(self, mean, sd): print self, self.quality = normalvariate(mean, sd) print "--> %s" % self def Observe(self, mean, sd): print self, self. observe = normalvariate(mean, sd) print "--> %s" % self Or I could I guess do it this way, Is this better? I will only be setting the quality and observe values once for each instance. class Applicant(object): "quality is refers to the quality of the Applicant observe refers to the accuracy of which they assess the quality of the school" def __init__(self, mquality = 0, sdquality = 0, mobserve = 0, sdobserve = 0): self. quality = normalvariate(mquality, sdquality) self. observe = normalvariate(mobserve, sdobserve) Thanks Vincent Davis 720-301-3003 On Tue, Jun 9, 2009 at 7:02 AM, Vincent Davis<vinc...@vincentdavis.net> wrote: > Thanks for the help and comments, I think my questions have been > answered, I will know if I understand when I try to implement them. > The Match algorithm. algorithm is described in the link below. The > Applicant and School rankings will be (Attributes ?) of the Applicant > and School class, and I simulate this ranking process by considering > Applicants and Schools attributes, but basically similar qualities get > mutually ranked. (I go go on if someone is interested but I thought it > best to keep the discution on what I am trying to learn about classes) > > http://www.nrmp.org/res_match/about_res/algorithms.html > > Thanks Again > Vincent Davis > > > > > On Tue, Jun 9, 2009 at 1:12 AM, spir<denis.s...@free.fr> wrote: >> Le Mon, 8 Jun 2009 17:31:23 -0600, >> Vincent Davis <vinc...@vincentdavis.net> s'exprima ainsi: >> >>> Accidentally sent I have added the rest >>> (by the way I refrain from using the terms attribute, method,.... as I >>> will likely miss use them) >>> >>> > I am reading several tutorials about classes and trying to figure out >>> > how to apply it to my project. I have a working program that basically >>> > matches up applicants and schools. Schools and applicants have and >>> > "true" quality and an "observed" quality. Then there is an algorithm >>> > that matches them up. Right now I do this all with lists which works >>> > ok but I would like to try using classes. >> >>> > Questions >>> > 1, does it make seens to have a applicant and a schools class (based >>> > on this brief explanation) >> >> Based on your explanations, I don't really understand the problem you're >> trying to solve, nore the algorithm. Still, probably it makes sense to use >> Applicant and School classes for the simple reason these notions in your >> program represent "objects": there are single, identified, things ; as >> opposed to "values" (in the ordinary sense of the term) that represent >> qualities or information such as color, position, number, or "true" and >> "observed" above. >> (By the way, don't use 'true', it's too misleading. Maybe 'truth' instead.) >> >> This notion of object identity would allow you, for instance, to match an >> applicant to a school by letting the applicant's attribute 'matched_school' >> directly point to a school itself, instead of a number that indirectly >> represents the school. >> >> Also, you've got a collection of schools and applicants, which probably >> means they will be stored in a set or a list. Once you have a type for them, >> it's easier to safely manipulate them in a unified manner. Even if they have >> only one single data attribute, I would do it: this also brings a >> centralised place to expose the object type's structure and behaviour. >> >>> > 2, is it possible to have a class for the algorithm that will modify >>> > values in the applicant and schools class >>> for example applicant.matched = 4 and school.matched = 343 meaning >>> applicant 343 is matched to school 4 >> >> No, if I understand what you mean. You won't have a separate "class" only to >> store actions (python is not java), but instead you should precisely >> attribute these as methods to the Applicant or School types. >> >>> 3, is I have a value set in a class applicant.foo = 5 and I what to >>> use a (method?) in the class to change this, what is the right way to >>> do this? >> >> Below an example: >> >> ==================== >> class Point(object): >> def __init__(self, x=0,y=0): >> self.x = x >> self.y = y >> def move(self, dx,dy): >> print self, >> self.x += dx >> self.y += dy >> print "--> %s" % self >> def __str__(self): >> return "Point (%s,%s)" % (self.x,self.y) >> >> p0 = Point() ; print p0 >> p = Point(9,8) ; print p >> p.move(-11,11) >> ==================== >> ==> >> ==================== >> Point (0,0) >> Point (9,8) >> Point (9,8) --> Point (-2,19) >> ==================== >> >> Denis >> ------ >> la vita e estrany >> _______________________________________________ >> Tutor maillist - tu...@python.org >> http://mail.python.org/mailman/listinfo/tutor >> > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor