Discuss / Python / @property

@property

Topic source

YOUTH

#1 Created at ... [Delete] [Delete and Lock User]

class Screen(object):  

    #get和set用一个名字,用装饰器区分,且要和实例使用时的名字一样

    @property

    def width(self):

        return self._width

    @width.setter

    def width(self,vlwid):

        if not isinstance(vlwid,int):

            return ValueError('width must be an int')

        elif vlwid < 0:

            return ValueError('width must over 0')

        else:

            self._width = vlwid

    @property

    def height(self):

        return self._height

    @height.setter

    def height(self,vlheight):int

        if not isinstance(vlheight,int):

            return ValueError('width must be an int')

        elif vlheight < 0:

            return ValueError('width must over 0')

        else:

            self._height = vlheight

    @property

    def resolution(self):

        return self._height * self._width


  • 1

Reply