首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:'float‘对象不是可订阅的Python3

TypeError:'float‘对象不是可订阅的Python3
EN

Stack Overflow用户
提问于 2013-05-07 07:05:04
回答 2查看 4.1K关注 0票数 0

我一直收到TypeError:'float‘对象是不可订阅的,想知道为什么

代码语言:javascript
复制
from math import log

class Logarithm(object):

    def __init__(self, base = 0, number= 0):
        self.base = float(base)
        self.number = float(number)

        the_logarithm = log(self.base[self.number])

    def __str__(self):
        return 'Your log = {}'.format(the_logarithm)
EN

回答 2

Stack Overflow用户

发布于 2013-05-07 07:06:08

因此:

代码语言:javascript
复制
log(self.base[self.number])

你想在这里完成什么?self.base是一个浮点数,所以这条语句的计算结果是“base的第number个元素”,这是Python所不能做到的。

票数 2
EN

Stack Overflow用户

发布于 2013-05-07 07:12:45

卡梅隆·斯帕尔的答案是正确的。

您可能应该重新检查help(math.log)。它是

代码语言:javascript
复制
log(x[, base]) -> the logarithm of x to the given base.

这意味着基本参数是可选的(缺省为e),而不是log(x[base])

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16408695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档