python - 在 python 中实例化类时如何返回浮点类型?
问题描述
我正在寻找一种在类实例化时返回浮点数的方法,如下所示:
class SMA:
"""
Simple Moving Average
fomula :
sma = (a1+a2+a3+....) / n
"""
def __init__(self,data_feed,time_period=None):
self.data_feed = data_feed
if not time_period:
self.time_period = len(self.data_feed)
else:
self.time_period = time_period
self.sma = sum(self.data_feed) / self.time_period
def __repr__(self):
return repr(self.sma)
>>> b = SMA(data_feed=[1,2,3,4],time_period=4)
>>> print(type(b))
... float
但是有问题因为'b'有SMA类型,而不是浮动
解决方案
b
是类的对象SMA
,这就是它返回其类类型的原因。返回一个浮点值创建一个函数
class SMA:
def __init__(self,data_feed,time_period=None):
self.data_feed = data_feed
if not time_period:
self.time_period = len(self.data_feed)
else:
self.time_period = time_period
def get_value(self):
return sum(self.data_feed) / self.time_period
b = SMA(data_feed=[1,2,3,4],time_period=4)
type(b.get_value())
__repr__
返回对象的可打印表示。
推荐阅读
- sql-server-2008 - Pyodbc 无法连接到 SQL Server 2008
- python - 动态填充 QTreeView 使应用程序不会崩溃
- php - 使用 AJAX 调用表
- selenium - 如何使用其文本内容选择元素?
- python-3.x - 预测的类和相应的概率在 H2O 上是矛盾的
- cmake - 自动包含头目录 Automake
- ios - 调用 applicationWillEnterForeground 后重新启动应用程序
- java - 为通用 RxJava 阶段开发 RxJava 基类/工厂类
- firebase - 在 FirebaseDatabase.getReference() 中获取 NPE
- vaadin - 带有 Viritin ListDataProvider 的网格随机失败