之前用了的篇幅讲解了python中的类,超类,魔法方法,还有不明白的可以回顾一下之前的文章。
今天呢,详细的讲解一个魔法方法中的内置函数,property函数。
定义:函数的作用是在新式类中返回属性值,property取代setter和getter方法。主要是用来规范化访问类的属性和修改类属性的值的一种方法。
语法及用法:classproperty([fget[, fset[, fdel[, doc]]]])
重要参数:
fget -- 获取属性值的函数
fset -- 设置属性值的函数
fdel -- 删除属性值函数
doc -- 属性描述信息
参数用法:
property后跟参数个数决定他的作用。
0个参数:产生的属性既不可读也不可写。
1个参数:只读。
2个参数:读写。
3个参数:读写,也可以删除。
4个参数:读写,可以删除,还包含文档属性。
下面的案例会说明它的所有用法以及分析情况。
打开百度App,看更多图片
上述例子中size=property(getsize,setsize,delsize,"实例对象") 这条指令有或者没有的时候输出的结果是一样子的,只不过没有的时候在调用时要自己加上getsize,setsize等方法,它们时一个名为size的假象特征的访问器方法,size时由height和width构成的元组。当有这条指令的时候,property就创建了一个名字size的属性,这个属性以访问器函数作为参数,先是取值后是赋值。
而上面的例子则是以装饰器来写的。其实在我们定义数据库字段类的时候,往往需要对其中的一些类属性做一些,一般用get和set方法,但是这样子会在python中写的代码很长,当然但凡写的长了出错的几率就会大一些,所以,我们今天出现了这一篇单另以一个函数来讲的一篇。这个函数就可以让你的代码变得简单一些,出错几率小一些。说直白点,就是减少代码
小伙伴们比较一下,看看能看出什么门道来,欢迎留言抨击轰炸小编呦!
之前相关文章:
一篇干货好文,轻松掌握python魔法方法
一篇文章可以带你理解python中的类
python核心部分创建对象中各种名词的定义及用法