一文搞懂property函数
接下来我带大家了解一个函数的作用以及使用技巧,希望对大家都有帮助,话不多说,接下来就开始我的表演
特性
- 通过存取方法定义的属性通常称为特性(property)
- 让所有的属性看起来都一样
首先property有两种用法,一种是作为函数的用法,一种是作为装饰器的用法,接下来我们就逐一分析
property函数
看一下作为函数它包含的参数都有哪些
property(fget=None, fset=None, fdel=None, doc=None)
分析
fget 是获取属性值的方法。
fset 是设置属性值的方法。
fdel 是删除属性值的方法。
doc 是属性描述信息。如果省略,会把fget方法的docstring拿来用(如果有的话)
首先在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把属性随便改,如下例子
class Student(object):
pass
s = Student
s.score = 99
print(s.score) # 99
像上面这样写肯定是不行的,我们传入的属性值根本就无法去进行验证,看一下不用property函数的例子
class Student:
def __init__(self):
self._score = ''
def get_score(self):
return self._score
def set_score(self, value):</

本文深入探讨了Python中的property函数,介绍了其作为函数和装饰器的两种用法,强调了property函数在属性访问控制中的重要性,通过实例展示了如何通过property实现属性的获取、设置和删除,并对比了不使用property时的弊端。最后总结了property装饰器的优点,即提供参数检查的同时保持属性访问的简洁性。

78

被折叠的 条评论
为什么被折叠?



