Could anyone find a problem with this @property decorator? I cannot seem to get it to assert correctly. I'm sure I'm doing some really simple thing wrong, but can anyone point my tired eyes in the right direction please?

class A:

def __init__(self):

self.a = 0

self._b = 0

@property

def b(self):

return self.b

@b.getter

def b(self):

if self._b is None:

return 0

return self._b

@b.setter

def b(self, val):

self._b = (val * 20)

def test_getter_setter():

obj = A()

obj.a = 1

#obj.b = 2

print obj.a, obj.b

obj.b = 2

print obj.a, obj.b

assert obj.b == 40

test_getter_setter()

解决方案

The @property decorator only works on new style classes. Inherit from object:

class A(object):

With that change your test function passes.

python property装饰器原理,Python @property装饰器不起作用相关推荐

  1. 拦截器原理多个拦截器执行顺序

    拦截器原理多个拦截器执行顺序 1.根据当前请求,找到**HandlerExecutionChain[可以处理请求的handler以及handler的所有 拦截器] 2.先来顺序执行 所有拦截器的 pr ...

  2. python装饰器原理-Python装饰器的实现原理

    Python中的装饰器是通过利用了函数特性的闭包实现的,所以在说装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的. 1.函数特性 Python中的函数特性总的来说有四点: 1.函数作 ...

  3. python装饰器原理-Python函数装饰器原理与用法详解

    本文实例讲述了Python函数装饰器原理与用法.分享给大家供大家参考,具体如下: 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值 ...

  4. python装饰器原理-Python装饰器完全解读

    1 引言 装饰器(Decorators)可能是Python中最难掌握的概念之一了,也是最具Pythonic特色的技巧,深入理解并应用装饰器,你会更加感慨--人生苦短,我用Python. 2 初步理解装 ...

  5. python装饰器原理-Python装饰器原理与用法分析

    这篇文章主要介绍了Python装饰器原理与用法,结合实例形式分析了Python装饰器的概念.原理.使用方法及相关操作注意事项,需要的朋友可以参考下 本文实例讲述了Python装饰器原理与用法.分享给大 ...

  6. python装饰器原理-python 中的装饰器及其原理

    装饰器模式 此前的文章中我们介绍过装饰器模式: 装饰器模式中具体的 Decorator 实现类通过将对组建的请求转发给被装饰的对象,并在转发前后执行一些额外的动作来修改原有的部分行为,实现增强 Com ...

  7. python装饰器原理-python装饰器的原理和使用

    一.最简单的装饰器 装饰器是python中很基础也很实用的一个特性.通过装饰器我们可以很方便地为一些函数添加相同的功能.我们以测量函数运行时间为例来讲一讲python装饰器的运行原理. 1.使用装饰器 ...

  8. python装饰器原理-python装饰器原理与用法深入详解

    本文实例讲述了python装饰器原理与用法.分享给大家供大家参考,具体如下: 你会Python嘛? 我会! 那你给我讲下Python装饰器吧! Python装饰器啊?我没用过哎 以上是我一个哥们面试时 ...

  9. python装饰器原理-Python装饰器原理

    装饰器(Decorator)是面向对象设计模式的一种,这种模式的核心思想是在不改变原来核心业务逻辑代码的情况下,对函数或类对象进行额外的修饰.python中的装饰器由python解释器直接支持,其定义 ...

  10. 【深度学习】1:感知器原理,以及感知器解决异或问题

    前言: 写完上一篇<KNN算法实现手写数字识别>到现在已经过去了十天,2018年伊始几天同学同事都是各种浪,自己坚持学习实在是痛苦啊! 不悲不气,闲话不多说了,开始自己神经网络的学习旅程吧 ...

最新文章

  1. 10 过滤器和监听器
  2. 在IBM Cloud中运行Fabric
  3. python学习笔记(七)函数
  4. mapgis编辑属性结构编辑不了_MapGIS67操作手册(3-17)MapGIS67编辑线属性结构的方法...
  5. android 刷windows10,微软计划在Android机上刷Windows 10
  6. 背后的故事之 - 快乐的Lambda表达式(二)
  7. RecordAccumulator分析
  8. 感恩节活动促销海报模板,摆好借势感恩节的姿势
  9. linux c++模拟简易网络爬虫
  10. fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
  11. JS 动态修改json字符串
  12. CentOS7源码安装Python3
  13. vb ftp linux,一个功能比较完整VB FTP程序+源码
  14. 今日头条最新视频解析方法
  15. 微软的APT服务器探针产品,原子探针断层扫描| APT | EAG实验室
  16. HDU 6232 2017 哈尔滨 Confliction
  17. 如何在Word中的项目符号列表中自定义项目符号
  18. 达梦共享集群DM DMDSC集群对比Oracle RAC原理详解
  19. 荣耀4a android art,荣耀4A黑科技大揭秘,真是给工程师给跪了!!
  20. Spring Boot 2.x基础教程:使用Spring Data JPA访问MySQL我们得从哪入手

热门文章

  1. 你的二次元老婆,被AI变成了暗黑系
  2. 只知道TF和PyTorch还不够,快来看看怎么从PyTorch转向自动微分神器JAX
  3. 【GCN】图卷积网络 Graph Convolutional Networks
  4. 基于 CNN 的验证码破解实战项目
  5. 当你舌吻十秒后,下面就……
  6. Python标准库threading模块Condition原理浅析
  7. Python源码学习:Python类机制分析
  8. Python,自己修改的爬取淘宝网页的代码 修改Python爬虫,爬取淘宝商品信息也不报错,也不输出信息的错误
  9. 如何实现C++中的多线程编程
  10. 主成分分析(PCA):通过图像可视化深入理解