导入类然后将参数传递给函数

时间:2017-05-02 19:18:41

标签: python

我有一个python文件:

# -*- coding: utf-8 -*-

from bead import Ford

szotar = {"The" : "A", "sun": "nap", "shining" : "süt", "wind" : "szél", "not" : "nem", "blowing" : "fúj"}

fd = Ford(szotar)
fd.fordit("teszt.txt")

我必须编写具有fordit函数的Ford类,它打开作为参数传递的文件。我写了这个:

class Ford(dict):
    def fordit(read):
        fajl = open(read)
        for sor in fajl:
            print(sor)
        fajl.close()

但我收到错误“TypeError:fordit()正好接受1个参数(给定2个)”。有什么问题?

1 个答案:

答案 0 :(得分:3)

您没有使用必要的参数定义forditf.fordit(x)等同于Ford.fordit(f, x),因此您需要定义它以使用两个参数,第一个是调用方法的对象,而传统上(但不一定)命名为{{ 1}}。

(不相关,但你应该使用self语句,这可以确保文件在打开时发生错误时关闭。文件在with语句完成后隐式关闭。 )

with