如何在python中调用类的方法?

2024-04-20 16:38:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,正在尝试编写一个python脚本,该脚本将接受两个命令行参数,对它们执行一些操作,并将输出返回到stdout。你知道吗

我的剧本是这样的:

class MyClass:
  def GET(self):
    #get the passed in arguments in arg1 and arg2
    return self.perform(arg1, arg2)

  def perform(self, arg1, arg2):
    return arg1+arg2

if __name__ == "__main__":
   #call the GET method of MyClass with all the arguments  
  • 如何将命令行参数sys.argv[1:]传递给MyClassGET方法?你知道吗
  • GET的签名是否会从GET(self)更改为GET(self, arg1, arg2)?你知道吗

Tags: the命令行inself脚本参数getreturn
1条回答
网友
1楼 · 发布于 2024-04-20 16:38:31

你写的是实例方法,需要一个实例来调用它们。 例如

x = MyClass() # create an instance of MyClass
x.GET()

但是,arg1arg2从未初始化,因此GET方法将不知道它们是什么。如果要将它们传递到GET,则需要将它们指定为参数:

class MyClass:
  def GET(self, arg1, arg2):
    ...

然后你可以用

x.GET(sys.argv[1], sys.argv[2])

但这会使GET变得毫无意义,因为它所做的只是将调用重定向到perform方法。你知道吗

如果愿意,可以将argv数组本身传递给GET。这需要:

class MyClass:
  def GET(self, args):
     return self.perform(args[1], args[2])
  ...

x = MyClass()
x.GET(sys.argv)

如果要将结果输出到stdout,可以使用print。例如

print(x.GET(sys.argv))

相关问题 更多 >