@age.setter装饰器
@age.setter装饰器是什么意思,与@propert装饰器有什么区别,在什么情况下用到,或者说在什么情况下用@age.setter装饰器又在什么情况下用@propert装饰器,是不是@age.setter装饰器要写在@propert装饰器下面
还有我的另外俩个提的问题只有同学回答了,不标准没有解决我的问题也不对,老师一天多了都没有帮我回复,我的问题到现在还没解决,希望尽快回复帮到我
35
收起
正在回答
1回答
同学,你好。同学可根据下述两个例子来理解 @age.setter和@property。
1、@property:可以使方法以属性的方式调用。在调用的时候可以体现出来,方法在调用时是要添加括号的
2、当属性设置为私有属性时,在外部不可以直接修改,因此可以同时使用@property和@age.setter,从而可以修改私有属性的值。
可以理解为:只有@property表示只读。同时有@property和@*.setter表示可读可写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class PetCat( object ): def __init__( self , age): self .__age = age @ property def age( self ): return self .__age @age.setter def age( self , value): if not isinstance (value, int ): print ( '年龄只能是整数' ) return 0 if value < 0 or value > 100 : print ( '年龄只能介于0-100之间' ) return 0 self .__age = value @ property def show_info( self ): return '今年{}岁' . format ( self .__age) cat_black = PetCat( 2 ) rest = cat_black.show_info print (rest) cat_black.age = 25 rest = cat_black.show_info print (rest) |
3、很抱歉给同学带来不佳的学习体验,周末同学的问题会回答的比较慢。同学的问题老师已经回复,同学可根据回答中的方法进行修改
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
1.Python零基础入门
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧