美文网首页
python 特性属性

python 特性属性

作者: dushuzhong | 来源:发表于2018-10-20 15:58 被阅读3次

实现其它语言中拥有的getter和setter功能
作用:
用来模拟一个属性
通过@property 装饰器可以对模块属性的取值和赋值加以控制
示例见:

class Student:
     def __init__(self, s):
         self.__score__ = s

     @property  # 等价于property(get_score)
     def score(self):
         return self.__score__

     @score.setter
     def score(self,s):
         assert 0 <= s <= 100, "报错"   
         self.__score__ = s

     def get_score(self):
         return self.__score__
     
     def set_score(self,s):
         assert 0 <= s <= 100, "报错"   
         self.__score__ = s

     score = property(get_score)

s1 = Student(50)
print(s1.score)
s1.score = 10000

避免用户随意修改属性

但是可以通过 score = property(get_score,set_score) 这样就可以
print(s1.score)
s1.score = 70 实际上是添加实例变量

  • python 方法名都是类变量

相关文章

  • python 特性属性

    实现其它语言中拥有的getter和setter功能作用:用来模拟一个属性通过@property 装饰器可以对模块属...

  • Python学习笔记09-面向对象高级编程

    __slots__属性 在python中class被实例化后仍然可以绑定新属性和方法,这就是动态语言的特性。 注意...

  • python的属性管理

    python对于类的属性的管理有四种方式:特性、描述符、'__getattr__' 和 '__getattribu...

  • python 动态属性和property特性

    简介 特性至关重要的地方在于,特性的存在使得开发者可以非常安全并且确定可行地将公共数据属性作为类的公共接口的一部分...

  • 自省?使用inspect模块探测python对象内容!

    python中一切皆对象,这使得python有着天然的 自省 特性,即能够运行过程中获取对象自身由哪些属性和方法组...

  • 自省?使用inspect模块探测python对象内容

    python中一切皆对象,这使得python有着天然的自省特性,即能够运行过程中获取对象自身由哪些属性和方法组成。...

  • jQueryDom的操作(2)

    第二章 对jQuery对象的属性、特性以及数据的操作 操作元素的特性和属性值 元素的特性和属性 特性attribu...

  • python的特性

    Python使用C语言开发 1.面向对象的特性 面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但是...

  • Python属性查找顺序

    之前看到有框架使用data description特性,对python属性访问查找不了解,特此记录一下,文章来源#...

  • 属性特性

网友评论

      本文标题:python 特性属性

      本文链接:https://www.haomeiwen.com/subject/nnlmzftx.html