首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >奇怪的额外参数

奇怪的额外参数
EN

Stack Overflow用户
提问于 2012-03-13 21:43:47
回答 4查看 76关注 0票数 1

我获得了以下python代码,其中在单击按钮时调用printSaved (使用wx库和Python2.7.2)。但是当这种情况发生时,我得到了一个非常奇怪的错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "./program.py", line 135, in printSaved
    s = self.readSaved()
TypeError: readSaved() takes no arguments (1 given)

以下是代码

代码语言:javascript
复制
  def readSaved():
    f = codecs.open((os.getenv('HOME') +'/Dokument/savefile.txt') ,'r','utf-8')
    l = f.readlines()
    f.close()
    return l

  def printSaved(self,event):
    s = self.readSaved()
    for l in s:
      print l

我通过向readSaved(somethingUseless)添加一个参数修复了这个问题,一切都很正常。我的问题是什么是传递给readSaved的,是如何/为什么传递的?这和这件事有关系吗?

EN

Stack Overflow用户

发布于 2012-03-13 21:46:40

因为它是一个方法--不管怎么说,你都是把它作为一个方法来调用的--你必须至少有一个self作为参数。当函数作为方法调用时,调用该方法所通过的对象将作为第一个参数传递给该函数。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9685195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档