Class Time with customized attribute access. : Class Definition « Class « Python

Home
Python
1.2D
2.Application
3.Buildin Function
4.Class
5.Data Structure
6.Data Type
7.Database
8.Development
9.Dictionary
10.Event
11.Exception
12.File
13.Function
14.GUI Pmw
15.GUI Tk
16.Language Basics
17.List
18.Math
19.Network
20.String
21.System
22.Thread
23.Tuple
24.Utility
25.XML
Python » Class » Class DefinitionScreenshots 
Class Time with customized attribute access.
 

class Time:
   def __init__self, hour = 0, minute = 0, second = ):
      self.hour = hour
      self.minute = minute
      self.second = second
      
   def __setattr__self, name, value ):
      if name == "hour":
         if <= value < 24:
            self.__dict__"_hour" = value
         else:
            raise ValueError, "Invalid hour value: %d" % value

      elif name == "minute" or name == "second":
         if <= value < 60:
            self.__dict__"_" + name = value
         else:
            raise ValueError, "Invalid %s value: %d" name, value )

      else:
         self.__dict__name = value

   def __getattr__self, name ):
      if name == "hour":
         return self._hour
      elif name == "minute":
         return self._minute
      elif name == "second":
         return self._second
      else:
         raise AttributeError, name
 
   def __str__self ):
      return "%.2d:%.2d:%.2d" self._hour, self._minute, self._second )
 

   
  
Related examples in the same category
1.Class Time with properties
2.Simple class with slots
3.Definition and test function for class Point.
4.User-Defined Classes
5.NameTag class
6.Class instance value setting
7.Define a class
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.