Class Time with accessor methods. : method « Class « Python Tutorial





class Time:
   def __init__( self ):
      self._hour = 0     # 0-23
      self._minute = 0   # 0-59
      self._second = 0   # 0-59
      
   def setTime( self, hour, minute, second ):
      self.setHour( hour )
      self.setMinute( minute )
      self.setSecond( second )

   def setHour( self, hour ):
      if 0 <= hour < 24:
         self._hour = hour
      else:
         raise ValueError, "Invalid hour value: %d" % hour

   def setMinute( self, minute ):
      if 0 <= minute < 60:
         self._minute = minute
      else:
         raise ValueError, "Invalid minute value: %d" % minute
   
   def setSecond( self, second ):
      if 0 <= second < 60:
         self._second = second
      else:
         raise ValueError, "Invalid second value: %d" % second

   def getHour( self ):
      return self._hour

   def getMinute( self ):
      return self._minute

   def getSecond( self ):
      return self._second

   def printMilitary( self ):
      print "%.2d:%.2d:%.2d" % ( self._hour, self._minute, self._second ),
 
   def printStandard( self ):
      standardTime = ""

      if self._hour == 0 or self._hour == 12:
         standardTime += "12:"
      else:
         standardTime += "%d:" % ( self._hour % 12 )

      standardTime += "%.2d:%.2d" % ( self._minute, self._second )

      if self._hour < 12:
         standardTime += " AM"
      else:
         standardTime += " PM"
      
      print standardTime,










11.4.method
11.4.1.Methods in class
11.4.2.Intermediate Customization
11.4.3.Any Number of Items Iterator
11.4.4.__str__, __add__, __mul__,__nonzero__,__norm_cval,__cmp__
11.4.5.Wrapping Standard Types
11.4.6.The property() built-in function can take up to four arguments.
11.4.7.A setter
11.4.8.stick in a documentation string for your attribute
11.4.9.Here is our modified class inspired by the recipe:
11.4.10.Class Time with accessor methods.
11.4.11.Methods calling
11.4.12.Add method to a class from outside