如何使用Globals()来调用static& Python中的实例方法

时间:2017-09-14 22:21:57

标签: python globals

如何使用Globals()来调用static& Python中的实例方法?

import sys
import json
import pprint

def Func102(arg0, arg1):
  sys.stdout.write("Func102 ARG1 :" + arg0 + ": ARG1 :"+ arg1 + ":\n");

globals()['Func102']("Hey Dude", "Wassup");


class Glob101:
  @staticmethod
  def Func101(arg0, arg1):
    sys.stdout.write("Func101 ARG1 :" + arg0 + ": ARG1 :"+ arg1 + ":\n");

print("\n\n\n");
globDict = str(globals());
print(json.dumps(globDict, indent=4, sort_keys=True));
print("\n\n\n");

globClass =  globals.get('Glob101');
globClass.Func101("THIS IS NOT WORKING", "!!!");                                                                                                                                


globals()['Glob101.Func101']("THIS IS NOT WORKING EITHER", "!!!");

2 个答案:

答案 0 :(得分:0)

我找到了问题的答案。我们可以一起使用getattr和globals来调用类中的静态函数。

@IBAction func yourMethod(sender: UIButton) {    
   // ... Do some cool things here 
}

答案 1 :(得分:0)

只需使用包含所需功能的显式字典即可。这里有一个类没有

def parse_something(arg0, arg1):
    ...

funcs = {"func_101": parse_something}

funcs["func_101"](1, 2)

字典键不需要匹配函数的名称。