Python:函数不接受参数

Python:函数不接受参数,python,function,tkinter,arguments,subprocess,Python,Function,Tkinter,Arguments,Subprocess,运行此代码时,会收到错误消息: File "Start.py", line 22, in <module> c.lo() TypeError: lo() takes no arguments (1 given) 方法总是将实例作为第一个参数获取。 您的方法定义应该如下所示: def some_method(self): # do_stuff 方法总是将实例作为第一个参数获取。 您的方法定义应该如下所示: def some_method(self): # do_

运行此代码时,会收到错误消息:

File "Start.py", line 22, in <module>
  c.lo()
TypeError: lo() takes no arguments (1 given)

方法总是将实例作为第一个参数获取。
您的方法定义应该如下所示:

def some_method(self):
    # do_stuff

方法总是将实例作为第一个参数获取。
您的方法定义应该如下所示:

def some_method(self):
    # do_stuff

方法总是将实例作为第一个参数获取。
您的方法定义应该如下所示:

def some_method(self):
    # do_stuff

方法总是将实例作为第一个参数获取。
您的方法定义应该如下所示:

def some_method(self):
    # do_stuff

简而言之,这是因为
lo()
是类
Console
的一个方法,它总是作为第一个参数传递实例。因此
lo()
必须定义一个参数(通常称为
self
)来保存该参数:

class Console:
    def start(self): # functions and methods should have lowercase names
        self.proc = sp.Popen(...)
    def lo(self):
        line = self.proc.stdout.readline()
        ...

我很惊讶你的
Start()
调用成功了;它也有同样的问题。

简而言之,这是因为
lo()
是类
控制台的一个方法,它总是作为第一个参数传递实例。因此
lo()
必须定义一个参数(通常称为
self
)来保存该参数:

class Console:
    def start(self): # functions and methods should have lowercase names
        self.proc = sp.Popen(...)
    def lo(self):
        line = self.proc.stdout.readline()
        ...

我很惊讶你的
Start()
调用成功了;它也有同样的问题。

简而言之,这是因为
lo()
是类
控制台的一个方法,它总是作为第一个参数传递实例。因此
lo()
必须定义一个参数(通常称为
self
)来保存该参数:

class Console:
    def start(self): # functions and methods should have lowercase names
        self.proc = sp.Popen(...)
    def lo(self):
        line = self.proc.stdout.readline()
        ...

我很惊讶你的
Start()
调用成功了;它也有同样的问题。

简而言之,这是因为
lo()
是类
控制台的一个方法,它总是作为第一个参数传递实例。因此
lo()
必须定义一个参数(通常称为
self
)来保存该参数:

class Console:
    def start(self): # functions and methods should have lowercase names
        self.proc = sp.Popen(...)
    def lo(self):
        line = self.proc.stdout.readline()
        ...
我很惊讶你的
Start()
调用成功了;它也有同样的问题