Page 125 - Programming With Python 3
P. 125

An Introduction to STEM Programming with Python — 2019-09-03a                              Page 112
            Chapter 9 — Object Oriented Programming

            Taking the simple People class from the previous unit, we can change it.

             Free
               1|  class People():
               2|      def fullName(self):
               3|          return self.lastName + ", " + self.firstName
               4|
               5|  jim=People()
               6|  jim.lastName = "Reneau"
             eBook
               7|  jim.firstName = "Jim"
               8|  em=People()
               9|  em.lastName = "Goldstein"
             10|  em.firstName = "Emanuel"
             11|  print(jim.firstName,"likes to read about",em.fullName())

             Edition
                    Jim likes to read about Goldstein, Emanuel

            In this example we still have two objects, but we define two attributes: lastName and firstName. To get
            a person's full name we can concatenate the two name parts together, but that would be a line of code
            used several times throughout a large program. You can see that we have created a def called fullName.
            When creating a method the first argument is always the free variable "self". This allows the method to
            Please support this work at
            access the attributes for that specific object. Without "self" the variables would be local to the def and
            would cease to exist when it returned control to the calling code.


                                  http://syw2l.org
               1|  class People():
               2|      def fullName(self):
               3|          return self.lastName + ", " + self.firstName
               4|      def titledName(self, title):
               5|          return title + " " + self.firstName + " " +
                       self.lastName                                           Free
               6|
               7|  jim=People()
               8|  jim.lastName = "Reneau"
               9|  jim.firstName = "Jim"
             10|  em=People()
             11|  em.lastName = "Goldstein"                        eBook
             12|  em.firstName = "Emanuel"
             13|  print(jim.firstName,"likes to read about",em.titledName("Mr."))

            The method "titledName" is an example of passing values to a method. When it is defined the "self"
            free variable is included, but it is not included when the method is called. This may be confusing,
            calling a method with the first argument missing, but is important that you define it and leave it off
            when calling.                                       Edition
               1|  …



            Copyright 2019 — James M. Reneau Ph.D. — http://www.syw2l.org — This work is licensed
            under a Creative Commons Attribution-ShareAlike 4.0 International License.
   120   121   122   123   124   125   126   127   128   129   130