【问题标题】:Python in Atom: float object not callableAtom 中的 Python:浮动对象不可调用
【发布时间】:2017-05-17 12:38:42
【问题描述】:

我第一次在 atom 上使用 python,在执行部分代码时遇到了一些麻烦

我已经定义了这个类:

class Installment(object):

    def __init__(self, pName, pPercentage):

        self.name = pName
        self.percentage = pPercentage
        self.grade = 0.0
        self.contribution = 0.0

    def givePercentage(self):

        return (self.percentage)

    def grade(self, pGrade):

        self.grade = pGrade

        self.contribution = giveContribution() * pGrade

    def giveContribution(self):

        return (self.contribution)

但是当我尝试测试我完成的功能时:

midterm1 = Installment("Parcial 1", 0.25)

print(midterm1.givePercentage())

print(midterm1.giveContribution())

midterm1.grade(3.4)

Atom 抛出以下内容:

0.25 0.0 回溯(最近一次通话最后): 文件“C:\Users\Oscar Ramirez\Documents\Python\Tracker\Installment.py”, 第 28 行,在 中期1.grade(3.4) TypeError:“浮动”对象不可调用 【0.609s完成】

【问题讨论】:

    标签: python python-2.7 atom-editor


    【解决方案1】:

    你有一个属性self.grade 和一个函数def grade(self, pGrade):。当您执行midterm1.grade 时,它假定您的意思是第一个。您无法访问第二个。

    为避免此类名称冲突问题,请更改函数或属性的名称。也许def set_grade_and_contribution


    另外,这与您的问题无关,但通常不是 Python 惯用的方式来制作除了返回属性之外什么都不做的“getter”方法。当print(midterm1.contribution) 可以正常工作并且需要更少的代码时,使用print(midterm1.giveContribution()) 没有多大意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-19
      • 2018-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      相关资源
      最近更新 更多