Skip to content
Snippets Groups Projects
Select Git revision
  • 2bec02d8a5a51a63ee1eece0022ea22fa9d8038e
  • master default protected
2 results

test_property.py

Blame
  • test_property.py 699 B
    class Param(float):
        def __new__(self,name,value):
            return float.__new__(self,value)
             
        def __init__(self,name,value):
            self.__name = name
            
        name = property(lambda self: self.__name)
        
        
    class Beer(object):
        def __init__(self, temp):
            self.__T = temp
            
        @property
        def temp(self):
            return Param('Beer Temperature', self.__T)
        
        @temp.setter
        def temp(self,value):
            self.__T = float(value) 
            
    
    b = Beer(100)
    
    print b.temp.name, b.temp.__class__
    
    print b.temp * 4.5
    
    print b.temp.name, b.temp.__class__
    
    b.temp = 101
    
    print b.temp.name, b.temp.__class__
    
    print b.temp