请编写对私有属性age的赋值以及取值
时间: 2024-05-12 10:13:36 浏览: 19
在 Python 中,我们可以使用 property 装饰器来实现私有属性的赋值和取值。下面是一个示例:
```python
class Person:
def __init__(self, name, age):
self._name = name
self._age = age
@property
def age(self):
return self._age
@age.setter
def age(self, value):
if value < 0:
raise ValueError("Age cannot be negative.")
self._age = value
```
上面的代码中,我们定义了一个名为 Person 的类,并在初始化方法中定义了两个私有属性:_name 和 _age。然后,我们使用 @property 和 @age.setter 装饰器来分别定义了 age 属性的取值和赋值方法。这样,我们就可以通过实例对象的 age 属性来获取和修改私有属性 _age 的值。
例如,我们可以这样使用:
```python
p = Person("Alice", 25)
print(p.age) # 输出:25
p.age = 30
print(p.age) # 输出:30
p.age = -1 # 抛出 ValueError 异常
```
注意,在 age.setter 方法中,我们可以添加一些额外的逻辑来检查赋给属性的值是否合法。例如,上面的代码中,我们检查了赋给 age 属性的值是否小于零,如果小于零则抛出 ValueError 异常。这样可以确保我们的属性值是合法的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)