构建类MySedan,要求有一个静态私有属性weight描述车的重量;要求其实例化对象mysedan有一个私有属性power描述车的功率(为浮点数);要求其有一个方法energy_consumption,该方法计算weight和power的乘积将结果存储在私有属性energy中,并返回energy的值。要求将方法energy_consumption设计为MySedan类的伪属性,并可采用属性赋值的方式“=”修改属性power的值,从而达到更新energy的值的效果;并要求可以采用del直接mysedan的私有属性energy.
时间: 2023-11-27 19:49:52 浏览: 62
下面是代码实现:
```python
class MySedan:
__weight = 0.0 # 静态私有属性
def __init__(self, power):
self.__power = power # 实例化对象有一个私有属性power
@property
def energy_consumption(self):
self.__energy = self.__weight * self.__power # 计算weight和power的乘积将结果存储在私有属性energy中
return self.__energy
@energy_consumption.setter
def energy_consumption(self, power):
self.__power = power # 可以采用属性赋值的方式“=”修改属性power的值,从而达到更新energy的值的效果
@energy_consumption.deleter
def energy_consumption(self):
del self.__energy # 可以采用del直接mysedan的私有属性energy
```
使用方式:
```python
mysedan = MySedan(100.0) # 实例化对象mysedan
mysedan.energy_consumption # 调用方法energy_consumption,计算energy的值
# 输出:0.0
MySedan._MySedan__weight = 1.2 # 修改静态私有属性weight的值
mysedan.energy_consumption # 调用方法energy_consumption,计算energy的值
# 输出:120.0
mysedan.energy_consumption = 200.0 # 修改私有属性power的值,进而更新energy的值
mysedan.energy_consumption # 调用方法energy_consumption,计算energy的值
# 输出:240.0
del mysedan.energy_consumption # 删除私有属性energy
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)