1、定义一个People类,定义姓名name和年龄age,其中年龄设为私有属性,但是需要对年龄进行修改,而且对年龄范围在0-120岁之间,如果修改年龄不在此范围内输出“年龄超出范围”,有删除年龄的功能。
时间: 2023-12-24 10:05:23 浏览: 73
以下是People类的实现代码:
```python
class People:
def __init__(self, name, age):
self.name = name
self.__age = age
def get_age(self):
return self.__age
def set_age(self, age):
if 0 <= age <= 120:
self.__age = age
else:
print("年龄超出范围")
def del_age(self):
del self.__age
```
在这个类中,我们定义了一个构造函数来初始化People的姓名和年龄属性。我们使用了双下划线来定义私有属性age,并且通过get_age()方法返回age的值。
我们还定义了set_age()和del_age()方法来修改和删除age属性。在set_age()方法中,我们检查传入的值是否在0到120之间,如果超出这个范围,则输出“年龄超出范围”。
现在,我们可以创建一个People对象并尝试修改和删除年龄属性:
```python
person = People("张三", 30)
print(person.get_age()) # 输出:30
person.set_age(130) # 输出:年龄超出范围
print(person.get_age()) # 输出:30
person.set_age(25)
print(person.get_age()) # 输出:25
person.del_age()
print(person.get_age()) # 报错:AttributeError: 'People' object has no attribute '_People__age'
```
注意,由于age属性是私有的,我们不能直接访问它。因此,在代码中我们使用了get_age()方法来获取age的值。在del_age()方法中,我们使用了Python内置的del语句来删除age属性。
阅读全文