设计一个名为Stock的类来表示一个公司的股票,包括以下内容: 1)股票代码、股票名称、前一天股票价格、当天股票价格4个私有属性; 2)构造方法,需初始化代码、名称、前一天价格和当天价格等属性; 3)返回股票名字的get方法; 4)返回股票代码的get方法; 5)获取和设置股票前一天价格的get和set方法; 6)获取和设置股票当前价格的get和set方法; 7)名为getChangePercent()方法,返回前日收市价至当前价格的变化百分比; 8). 包括文档字符串,其内容为:"Stock Information Class" 说明:各方法的名称及参数要求请参见测试程序。
时间: 2024-03-23 22:36:19 浏览: 210
以下是Stock类的实现:
```python
class Stock:
"""
Stock Information Class
Attributes:
code (str): 股票代码
name (str): 股票名称
prev_price (float): 前一天股票价格
curr_price (float): 当天股票价格
"""
def __init__(self, code: str, name: str, prev_price: float, curr_price: float):
self.code = code
self.name = name
self.prev_price = prev_price
self.curr_price = curr_price
def get_name(self) -> str:
"""
获取股票名字
Returns:
str: 股票名称
"""
return self.name
def get_code(self) -> str:
"""
获取股票代码
Returns:
str: 股票代码
"""
return self.code
def get_prev_price(self) -> float:
"""
获取前一天股票价格
Returns:
float: 前一天股票价格
"""
return self.prev_price
def set_prev_price(self, price: float):
"""
设置前一天股票价格
Args:
price (float): 前一天股票价格
"""
self.prev_price = price
def get_curr_price(self) -> float:
"""
获取当天股票价格
Returns:
float: 当天股票价格
"""
return self.curr_price
def set_curr_price(self, price: float):
"""
设置当天股票价格
Args:
price (float): 当天股票价格
"""
self.curr_price = price
def get_change_percent(self) -> float:
"""
获取前日收市价至当前价格的变化百分比
Returns:
float: 变化百分比
"""
return (self.curr_price - self.prev_price) / self.prev_price * 100
```
测试程序如下:
```python
# 创建股票对象
stock = Stock("AAPL", "Apple Inc.", 147.43, 148.48)
# 获取股票名称和代码
print("股票名称:", stock.get_name())
print("股票代码:", stock.get_code())
# 获取和设置前一天和当天股票价格
print("前一天股票价格:", stock.get_prev_price())
stock.set_prev_price(150.77)
print("修改后的前一天股票价格:", stock.get_prev_price())
print("当天股票价格:", stock.get_curr_price())
stock.set_curr_price(151.12)
print("修改后的当天股票价格:", stock.get_curr_price())
# 获取变化百分比
print("变化百分比:", stock.get_change_percent())
```
输出结果如下:
```
股票名称: Apple Inc.
股票代码: AAPL
前一天股票价格: 147.43
修改后的前一天股票价格: 150.77
当天股票价格: 148.48
修改后的当天股票价格: 151.12
变化百分比: 1.787556904400665
```
阅读全文