TypeError:'float'对象不是可订阅的Python 3

时间:2013-05-06 23:05:04

标签: python typeerror

我一直得到TypeError:'float'对象不可订阅 想知道为什么

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)

2 个答案:

答案 0 :(得分:2)

因此:

log(self.base[self.number])

你想在这里完成什么? self.base是一个浮点数,因此该语句被评估为“number”的base元素,而Python无法做到这一点。

答案 1 :(得分:2)

Cameron Sparr的回答是正确的。

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

log(x[, base]) -> the logarithm of x to the given base.

意味着base参数是可选的(默认为e) 而不是log(x[base])