【问题标题】:Simple class in Python errorPython错误中的简单类
【发布时间】:2015-04-14 21:39:42
【问题描述】:

我收到一条错误消息,内容如下:

TypeError: readFromFile() takes exactly 2 arguments (1 given)

顺便说一句,这是我在 Python 中的第一堂课。

from numpy import *
from pycalfem import *
from pycalfem_utils import *

class FlowModel:    
    def __init__(self):
        self.readFromFile()

    def readFromFile(self,filename):
        Inputfile=open(filename,'r')
        ep=readFloat(Inputfile)
        print(str(ep))
        Inputfile.close()


if __name__=="__main__":
    flowmodel=FlowModel()
    flowmodel.readFromFile("indata.txt")

【问题讨论】:

  • 请检查您的代码格式,并包含完整的错误回溯。
  • 那个缩进准确吗?

标签: python class compiler-errors


【解决方案1】:

当您创建 FlowModel 实例时,您调用 self.readFromFile() 时不带参数:

def __init__(self):
    self.readFromFile()

这意味着该方法只传递了self,第一个参数,而不是第二个参数filename

删除该行;您没有要传递的文件名。创建实例后,您已经在 __init__ 方法之外正确使用了该方法。

【讨论】:

  • 谢谢!我相信在我继续构建这段代码时我会有更多问题要问:)
  • @Sam:每次都做研究,如果遇到新问题,请提出新问题。
猜你喜欢
  • 1970-01-01
  • 2016-05-16
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-06
相关资源
最近更新 更多