在上一题的基础上,(1)使用修饰器@property修饰私有属性sno,使其能在外部访问,但不允许在外部修改其值。 (2)使用修饰器property()修饰私有属性age,使其能在外部访问并修改其值。
时间: 2024-05-02 12:22:47 浏览: 109
ios 对象私有属性的访问和修改
感谢您对ChitGPT的使用。根据您的要求,以下是对应的代码实现:
```python
class Student:
def __init__(self, sno, name, age):
self.__sno = sno
self.name = name
self.__age = age
@property
def sno(self):
return self.__sno
@property
def age(self):
return self.__age
@age.setter
def age(self, value):
self.__age = value
```
在这段代码中,私有属性`sno`被使用`@property`修饰器标记为可读,但不可写。只有在类内部的方法中可以修改它的值。私有属性`age`被使用`@property`修饰器标记为可读且可写,外部可以修改它的值。
阅读全文