使用string作为变量名

Ste*_*uso 6 python

我有什么方法可以使用字符串来调用类的方法吗?这是一个有希望更好地解释的例子(使用我认为的方式):

class helloworld():
    def world(self):
        print "Hello World!"

str = "world"
hello = helloworld()

hello.`str`()
Run Code Online (Sandbox Code Playgroud)

哪个会输出Hello World!.

提前致谢.

Ste*_*202 16

你可以使用getattr:

>>> class helloworld:
...     def world(self):
...         print("Hello World!")
... 
>>> m = "world"
>>> hello = helloworld()
>>> getattr(hello, m)()
Hello World!
Run Code Online (Sandbox Code Playgroud)
  • 请注意class helloworld(),在这种情况下,您的示例中的parens 是不必要的.
  • 并且,正如SilentGhost指出的那样,str变量是一个不幸的名称.

  • str是变量名称的错误选择. (4认同)