@property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的。
1、只有@property表示 只读 。
2、同时有@property和@*.setter表示 可读可写 。

3、同时有@property和@*.setter和@*.deleter表示可读可写可删除。

代码:

  1 #coding=utf-82 class student(object):  #需继承父类object,否则property等无法生效 3 4     def __init__(self,v_id = '000'):5         self.__id = v_id6 7     @property8     def score(self):9         return self._score10 11     @score.setter12     def score(self,v_score):13         if not isinstance(v_score,int):14             raise ValueError('score must be an integer!')15         if v_score < 0 or v_score > 100:16             #raise ValueError('score must between 0 and 100')     17             print('数值不在有效范围内')18         else:19             print(v_score,'operation success')20         self._score = v_score21 22     @property23     def get_id(self):24         return self.__id25 26 s = student('001')27 s.score=6028 #print s.__id   #报错,没有该属性29 print s.get_id30 print s.score31 32 s = student()33 s.score=-10034 print s.get_id35 print s.score

执行:

python入门(@property,@*.setter)相关推荐

  1. python中property函数_python 邮件表格Python中property函数用法实例分析

    本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...

  2. Python入门到精通

    python从入门到精通 内存中存储的时数据的二进制形式 存储数据: 1.计算机先开辟空间,在存储数据,计算机开辟空间的最小单位时字节. 2.在数据存储时,用最高标识符号位,0表示正数,1表示复数. ...

  3. python 中 property 属性的讲解及应用

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  4. python中property方法有用_python中@property和property函数常见使用方法示例

    本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...

  5. python装饰器 property_介绍Python的@property装饰器的用法

    在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...

  6. Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析

    Python使用property函数和使用@property装饰器都能定义属性的get.set及delete的访问方法,他们的相同点主要如下三点: 1.定义这些方法后,代码中对相关属性的访问实际上都会 ...

  7. 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...

  8. Python入门技巧

    1.6 Python入门技巧 以下介绍了一些比较实用的Python学习技巧,可以让初学者快速上手. 1.6.1 help函数 help用于启动Python内置的帮助系统(此函数主要在交互式中使用).一 ...

  9. 6 小时 Python 入门

    文章目录 前言 一.pandas是什么? 二.使用步骤 1.引入库 2.读入数据 总结 6 小时 Python 入门 一.安装 Python 二.安装代码编辑器 PyCharm 三.HelloWorl ...

  10. 介绍Python的@property装饰器的用法_python_脚本之家

    介绍Python的@property装饰器的用法_python_脚本之家 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Studen ...

最新文章

  1. Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用1
  2. python3 的乐趣进度条
  3. 并发编程-18AQS同步组件之 CyclicBarrier 同步屏障
  4. C++中申请内存的正确方法
  5. android bitmap上传服务器,Android 上传图片到服务器时将bitmap转换为byte[]最后转换为String...
  6. Redis 多线程网络模型全面揭秘|网络硬核系列
  7. 395. Longest Substring with At Least K Repeating Characters
  8. SSRS:之为用户“NT AUTHORITY\NETWORK SERVICE”授予的权限不足,无法执行此操作。 (rsAccessDenied)...
  9. 鸿蒙系统和中标麒麟系统关系,操作系统有哪些 先有鸿蒙后有麒麟V10 为5G时代量身定做...
  10. 加密芯片——3DES算法特点与应用注意事项
  11. 检查oracle用户默认密码的账户
  12. 【干货分享】电信云/边缘云虚拟层软件StarlingX介绍
  13. JavaScript的一些名词(持续更新中-取自javaScript高级程序设计)
  14. Python实现SIFT算法,附详细公式推导和代码
  15. Outlook邮箱开启POP服务
  16. Access数据库对象包括哪六个?Access与 Excel 最重要的区别是什么?
  17. 三位物理学家与陶哲轩证明的惊天定理,原来早在教科书里吗?
  18. eda交通灯控制器波形输入_交通灯控制器课程设计.doc
  19. MacBook怎样退出apple id
  20. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛 C 颜料的混合 (计算几何)

热门文章

  1. fluent算例及利用c语言程序算法,第01章 fluent简单算例17
  2. AI人工智能Python实现简单人机对话:你好,人类!
  3. 置顶 - Zigbee专题提问贴
  4. 在线视频付费点播网站怎么搭建?
  5. 2021年R2移动式压力容器充装多少分及格及R2移动式压力容器充装考试APP
  6. 张玉琦计算机应用技术,2013-2014学年第二学期硕士研究生开课计划.xls
  7. atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源
  8. python 从一道作业题到制作一个图形界面的“诈金花”游戏
  9. JS简易实现五子棋游戏(三)
  10. 深度解析阿里、腾讯、京东等20家企业的技术案例