Python 传递1个参数,它';他说我';我过了2级
此代码正在打印: TypeError:correctAll()完全接受 1个参数(给出2个)Python 传递1个参数,它';他说我';我过了2级,python,parameter-passing,Python,Parameter Passing,此代码正在打印: TypeError:correctAll()完全接受 1个参数(给出2个) 但是AFAIKos.getcwd()返回一个字符串。。这里出了什么问题?您需要接受self作为参数,或者使用staticmethoddecorator import os import sys class Corrector: def correctAll(dir): print "ok" c = Corrector() c.correctAll(os.getcwd())
但是AFAIK
os.getcwd()
返回一个字符串。。这里出了什么问题?您需要接受self
作为参数,或者使用staticmethod
decorator
import os
import sys
class Corrector:
def correctAll(dir):
print "ok"
c = Corrector()
c.correctAll(os.getcwd())
或
这两者之间的区别在于您是否希望该方法能够访问它所调用的实例。如果是,则使用第一个实例,该实例将作为self
提供。否则,您可以使用第二个
Python方法的工作方式是显式接受它们绑定到的对象作为第一个参数(
self
在这里是规范的,但它实际上可以是任何东西)。然后在调用发生时隐式传递该参数。您需要接受self
作为参数或使用staticmethod
装饰器
import os
import sys
class Corrector:
def correctAll(dir):
print "ok"
c = Corrector()
c.correctAll(os.getcwd())
或
这两者之间的区别在于您是否希望该方法能够访问它所调用的实例。如果是,则使用第一个实例,该实例将作为self
提供。否则,您可以使用第二个
Python方法的工作方式是显式接受它们绑定到的对象作为第一个参数(
self
在这里是规范的,但它实际上可以是任何东西)。然后在调用发生时隐式传递该参数。您的correctAll缺少self
参数:所有实例方法必须将self
作为其第一个参数,它表示“对象本身”
换句话说,c.correctAll(x)
就像Corrector.correctAll(c,x)
pythonshell示例
class Corrector:
@staticmethod
def correctAll(dir):
print "ok"
另请参见:您的correctAll缺少
self
参数:所有实例方法必须将self
作为其第一个参数,它表示“对象本身”
换句话说,c.correctAll(x)
就像Corrector.correctAll(c,x)
pythonshell示例
class Corrector:
@staticmethod
def correctAll(dir):
print "ok"
另请参见:在python中,必须明确地接受名为
self的实例参数(而其他语言只是自动提供)。因此,在python中,您的方法定义必须看起来像def correctAll(self,dir)
,您必须明确地接受名为self
的实例参数(而其他语言只是自动提供)。因此,您的方法定义必须看起来像def correctAll(self,dir)
您是否也应该在参数列表中定义self
import os
import sys
class Corrector:
def correctAll(self, dir):
print "ok"
c = Corrector()
c.correctAll(os.getcwd())
级别校正器:
def correctAll(自身,方向):
打印“确定”
也许我错了…你不也应该在参数列表中定义self
import os
import sys
class Corrector:
def correctAll(self, dir):
print "ok"
c = Corrector()
c.correctAll(os.getcwd())
级别校正器:
def correctAll(自身,方向):
打印“确定”
也许我错了…我不懂python,但是否有可能存在一个默认传入的回调参数以及您传入的参数?我不懂python,但是否有可能存在一个默认传入的回调参数,当然,在Python中,staticmethod
没有要求所有内容都在一个类中的语言那么需要……当然,staticmethod
没有要求所有内容都在一个类中的语言那么需要。。。