我有一个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个)”。有什么问题?
答案 0 :(得分:3)
您没有使用必要的参数定义fordit
。 f.fordit(x)
等同于Ford.fordit(f, x)
,因此您需要定义它以使用两个参数,第一个是调用方法的对象,而传统上(但不一定)命名为{{ 1}}。
(不相关,但你应该使用self
语句,这可以确保文件在打开时发生错误时关闭。文件在with
语句完成后隐式关闭。 )
with