python - 在同一类中的方法中调用变量
问题描述
在此示例代码中:
class new:
def __init__(self, list):
self.list = list
def math(self):
average = sum(self.list)/len(self.list)
total = sum(self.list)
return len(self.list)
def values(self):
return self.list
list = new([1,2,3,4])
有没有办法在数学方法中调用平均值和总变量而不将其放入返回函数中(我希望数学函数只返回列表的长度)?我试过这个:
list.math().average
但这给出了一个错误。我希望能够在一行中调用变量。有什么建议么?
解决方案
您可以将它们放在实例属性中。
class new:
def __init__(self, l):
self.list = l
def math(self):
self.average = sum(self.list)/len(self.list)
self.total = sum(self.list)
return len(self.list)
def values(self):
return self.list
mylist = new([1,2,3,4])
mylist.math()
print(mylist.average, mylist.total)
顺便说一句,不要list
用作变量名,它会用该名称替换内置函数。
推荐阅读
- xml - 如何在树参数中设置动态值?
- javascript - 如何在 MomentJS 中获取上个月、过去三个月的天数列表
- node.js - 在运行流星应用程序时出现错误“等待是保留字”
- unity3d - 如何从不明确的崩溃日志中指定确切的崩溃原因?
- rest - RESTful API 设计 - 响应 http 代码
- python - Docker-Compose 使用 python 连接到远程 MQTT 代理
- python - RuntimeWarning: 启用 tracemalloc 以使用 asyncio.sleep 获取对象分配回溯
- angular - 无法更新角度指令中的属性值
- android - 删除 Google Play 商店短信和通话记录权限
- caching - 点燃现有 Cassandra 上的缓存