当前位置: 首页 > 面试题库 >

如何使用属性装饰器设置属性?

苏承载
2023-03-14
问题内容

这段代码返回一个错误:AttributeError:无法设置属性这真的很遗憾,因为我想使用属性而不是调用方法。有谁知道为什么这个简单的例子不起作用?

#!/usr/bin/python2.6


class Bar( object ):
    """ 
    ...
    """

    @property
    def value():
      """
      ...
      """    
      def fget( self ):
          return self._value

      def fset(self, value ):
          self._value = value


class Foo( object ):
    def __init__( self ):
        self.bar = Bar()
        self.bar.value = "yyy"

if __name__ == '__main__':
    foo = Foo()

问题答案:

这是你想要的吗?

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

取自http://docs.python.org/library/functions.html#property。



 类似资料:
  • 问题内容: 我希望仅当登录用户具有所需的权限级别时,其他功能才可执行。 为了使我的生活更加复杂,我想使用装饰器。下面,我尝试在“装饰”功能上设置属性-如下所示。 但是当我这样做时: 我得到一个错误 我想念什么? 问题答案: 您正在检查内部(包装)函数上的属性,但在原始(包装)函数上进行了设置。但是,您 根本 需要包装函数: 你的装饰需要返回 的东西 那将取代原有的功能。原始函数本身(添加了属性)可

  • Object.defineProperty(target, key, { writable: false }); } @ReadOnly // notice there are no `()` name: string; const t = new Test(); t.name = 'jan';

  • 了解在 Dreamweaver 中如何使用文本属性检查器应用 HTML 格式或 CSS 格式。 可以使用文本属性检查器应用 HTML 格式或层叠样式表 (CSS) 格式。应用 HTML 格式时,Dreamweaver 会将属性添加到页面正文的 HTML 代码中。应用 CSS 格式时,Dreamweaver 会将属性写入文档头或单独的样式表中。 注意:在创建 CSS 内联样式时,Dreamweave

  • 问题内容: globalList = [] class MyList: def init(self): self._myList = [1, 2, 3] 结果: 我面临的问题是mL1.myList.append(4)和mL1.myList.extend([5,6,“ eight”,“ IX”])不会修改mL1对象中的_myList属性。我该如何解决该问题? 问题答案: 我为类对象定义了方法appe

  • 问题内容: 我在Cookie中设置SameSite属性时遇到问题。我想设置此属性,但既不提供也不提供处理它的方法。因此,我有一个想法来创建一个响应,以捕获“ Set-Cookie”标头并添加“ SameSite = Strict”属性。 它可以正常工作,但是当我在一个响应中有多个“ Set- Cookie”标头时出现问题。并未提供删除或覆盖多个同名牧师的方法(在它们上面进行迭代并使用不起作用,因为

  • 我想根据“配置文件”设置注释的值。 让我举个例子来解释; 在上面的例子中,我们可以看到活动的“配置文件”是PROD,但是假设我们想要使用DEV配置文件,我们将不得不注释来自PROD的@Table注释,并取消注释DEV@Table注释。 如果这只针对一个实体,那不会是一个问题,但我有很多实体都有这种情况,所以我不认为这是处理这种即兴“简介”的方式。 你知道有什么办法可以解决这种情况吗?