zoukankan      html  css  js  c++  java
  • @property

    Python内置的@property装饰器就是负责把一个方法变成属性调用的:

    class Screen(object):
         def isint(self,px):
            if not isinstance(px,int):
                 raise ValueError('px must be an int')
            if px<0 :
                 raise ValueError('px must be not a negative number')
       
         @property
         def width(self):
             return self._width
        
         @width.setter
         def width(self,value):
             self.isint(value)
             self._width=value
            
         @property
         def height(self):
             return self._height
        
         @height.setter
         def height(self,value):
             self.isint(value)
             self._height=value
            
         @property
         def resolution(self):
             return self._width * self._height

    @property给一个Screen对象加上widthheight属性,以及一个只读属性resolution

    >>> s=Screen()
    >>> s.width=666
    >>> s.height=888
    >>> print(s.resolution)
    591408
    >>> print('s.width * s.height =%d? ' % s.resolution)
    s.width * s.height =591408?
    >>> print('s.width * s.height =%d  ' % s.resolution)
    s.width * s.height =591408 
    >>>

  • 相关阅读:
    用Docker执行Percona Server
    Java基础 笔记(七)
    VC与JavaScript交互(三) ———— JS调用C++
    4456: [Zjoi2016]旅行者|分治+最短路
    Swift语法学习之 方法
    JavaScript学习笔记二
    Latex 制作积分规则表格
    向MapReduce转换:计算共现关系
    王立平--switch case
    组队训练1 回放
  • 原文地址:https://www.cnblogs.com/bang325/p/7183770.html
Copyright © 2011-2022 走看看