如何调用名称中带空格的方法?

Dog*_*Dog 3 python syntax identifier

我有以下课程:

Help on class A in module a:

class A(__builtin__.object)
 |  Methods defined here:
 |  
 |  any vegetable(self)
 |      TODO document this
 |  
 |  getHeight(self)
 |      uses the chicken to measure it
Run Code Online (Sandbox Code Playgroud)

通话any vegetable不起作用:

>>> a.A().any vegetable()
  File "<stdin>", line 1
    a.A().any vegetable()
                      ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我该怎么打电话any vegetable


好吧,我不敢相信我必须提供更多的证据,但这里有.

>>> dir(a.A)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'any vegetable', 'getHeight']
Run Code Online (Sandbox Code Playgroud)

这不是我的班级,所以请不要告诉我重写它.我只需要调用该方法.

小智 11

用途getattr:

>>> a = A()
>>> getattr(a, 'any vegetable')()
Run Code Online (Sandbox Code Playgroud)

请注意,使用带有奇怪字符(如空格)的名称是一个非常非常糟糕的主意.没有理智的人会做到这一点.

  • @Dog:找到这段代码的作者.用基于泡沫的cluebat反复击打它们.根据需要重复. (5认同)
  • 那么也许"使用了setattr或类似功能" (2认同)