Discuss / Python / 来一个!

来一个!

Topic source

JIBANCANYANG

#1 Created at ... [Delete] [Delete and Lock User]
#!/usr/bin/env python3.5
# -*- coding: utf-8 -*-

'Life is just like a game!'

__author__ = 'jibancanyang'

class Screen(object):

    @property
    def width(self):
        return self._width

    @width.setter
    def width(self, value):
        if not isinstance(value, int):
            raise ValueError('width must be a interger!')
        if value <= 0 or value > 1000000:
            raise ValueError('Wrong data!')
        self._width = value

    @property
    def height(self):
        return self._height

    @height.setter
    def height(self, value):
        if not isinstance(value, int):
            raise ValueError('height must be a interger!')
        if value <= 0 or value > 1000000:
            raise ValueError('Wrong data!')
        self._height = value

    @property
    def resolution(slef):
        return slef._resolution

老布BZ

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

(抱歉,不能发评论,占用位置发个提问,不好意思!谢谢!)

一直在学习这个课程,很受用。 关于这一课有几个问题,有谁帮忙解答一下:

第一部分里 s.get_score(60) 和property装饰器下s.score = 60,为什么在装饰器下只能用赋值的方法,而不能套用上面的(60)的方式

接近结束的地方,关于使用property的只读属性,为什么print(y.age)只打印出property装饰器的一个地址,而不是age下return的运算值,换做print(y.age())也不行,报错'property' is not callable

感谢了!


  • 1

Reply