python property装饰器原理,Python @property装饰器不起作用
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.根据当前请求,找到**HandlerExecutionChain[可以处理请求的handler以及handler的所有 拦截器] 2.先来顺序执行 所有拦截器的 pr ...
- python装饰器原理-Python装饰器的实现原理
Python中的装饰器是通过利用了函数特性的闭包实现的,所以在说装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的. 1.函数特性 Python中的函数特性总的来说有四点: 1.函数作 ...
- python装饰器原理-Python函数装饰器原理与用法详解
本文实例讲述了Python函数装饰器原理与用法.分享给大家供大家参考,具体如下: 装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值 ...
- python装饰器原理-Python装饰器完全解读
1 引言 装饰器(Decorators)可能是Python中最难掌握的概念之一了,也是最具Pythonic特色的技巧,深入理解并应用装饰器,你会更加感慨--人生苦短,我用Python. 2 初步理解装 ...
- python装饰器原理-Python装饰器原理与用法分析
这篇文章主要介绍了Python装饰器原理与用法,结合实例形式分析了Python装饰器的概念.原理.使用方法及相关操作注意事项,需要的朋友可以参考下 本文实例讲述了Python装饰器原理与用法.分享给大 ...
- python装饰器原理-python 中的装饰器及其原理
装饰器模式 此前的文章中我们介绍过装饰器模式: 装饰器模式中具体的 Decorator 实现类通过将对组建的请求转发给被装饰的对象,并在转发前后执行一些额外的动作来修改原有的部分行为,实现增强 Com ...
- python装饰器原理-python装饰器的原理和使用
一.最简单的装饰器 装饰器是python中很基础也很实用的一个特性.通过装饰器我们可以很方便地为一些函数添加相同的功能.我们以测量函数运行时间为例来讲一讲python装饰器的运行原理. 1.使用装饰器 ...
- python装饰器原理-python装饰器原理与用法深入详解
本文实例讲述了python装饰器原理与用法.分享给大家供大家参考,具体如下: 你会Python嘛? 我会! 那你给我讲下Python装饰器吧! Python装饰器啊?我没用过哎 以上是我一个哥们面试时 ...
- python装饰器原理-Python装饰器原理
装饰器(Decorator)是面向对象设计模式的一种,这种模式的核心思想是在不改变原来核心业务逻辑代码的情况下,对函数或类对象进行额外的修饰.python中的装饰器由python解释器直接支持,其定义 ...
- 【深度学习】1:感知器原理,以及感知器解决异或问题
前言: 写完上一篇<KNN算法实现手写数字识别>到现在已经过去了十天,2018年伊始几天同学同事都是各种浪,自己坚持学习实在是痛苦啊! 不悲不气,闲话不多说了,开始自己神经网络的学习旅程吧 ...
最新文章
- 10 过滤器和监听器
- 在IBM Cloud中运行Fabric
- python学习笔记(七)函数
- mapgis编辑属性结构编辑不了_MapGIS67操作手册(3-17)MapGIS67编辑线属性结构的方法...
- android 刷windows10,微软计划在Android机上刷Windows 10
- 背后的故事之 - 快乐的Lambda表达式(二)
- RecordAccumulator分析
- 感恩节活动促销海报模板,摆好借势感恩节的姿势
- linux c++模拟简易网络爬虫
- fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
- JS 动态修改json字符串
- CentOS7源码安装Python3
- vb ftp linux,一个功能比较完整VB FTP程序+源码
- 今日头条最新视频解析方法
- 微软的APT服务器探针产品,原子探针断层扫描| APT | EAG实验室
- HDU 6232 2017 哈尔滨 Confliction
- 如何在Word中的项目符号列表中自定义项目符号
- 达梦共享集群DM DMDSC集群对比Oracle RAC原理详解
- 荣耀4a android art,荣耀4A黑科技大揭秘,真是给工程师给跪了!!
- Spring Boot 2.x基础教程:使用Spring Data JPA访问MySQL我们得从哪入手