python property属性

时间:2015-01-31 10:39:26   收藏:0   阅读:224


能够检查參数,一直没注意这个语言特性,忽略了非常多细节,感谢 vitrox

class Person( object ):
    
    def __init__( self, name ):
        if not isinstance( name, str ):
            raise TypeError( '...' )
        else:
            self.__name = name
            
    @property
    def name( self ):
        print 'get name.'
        return self.__name


    @name.setter
    def name( self, newname ):
        print 'set name.'
        if not isinstance( newname, str ):
            raise TypeError( '...' )
        else:
            self.__name = newname
            print 'set ok.'
        

p = Person( 'A' )
p.name = 'B'
print p.name


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!