一般 python 中运行方法是这样:

我把我想要按顺序执行的方法写到一个 list 里

然后通过方法名 +() 的形式拼出我要运行方法

现在问题来了,这样拼出的方法可咋执行呢?请教下各位大佬
eval(i+"()")
 
            楼主的意思是拼接出来的是字符串,然后有对应的方法,然后怎么执行这个方法对吧。可以试试动态引用库,importlib.import_module
eval(i+"()")
 
            这怎么执行,run() 是一个 function 对象,你拼接出来的是'run()'是一个字符串,将字符串转换为 function 对象?
我也想知道 
把你想要运行的方法又都装在一个方法里 调用这个方法去执行它们 

输出

这意思?
反射或者 exec
没太明白楼主的真实意图,这样只是拼出来字符串而已
def test1():
    print(1)
def test2():
    print(2)
function_dict = {
  "test1": test1,
  "test2": test2
}
for function in function_dict.values():
    function()
#或者
function_list = ["test1","test2"]
for function in function_list:
    function_dict[function]()
#又或者
for function in function_list:
    exec(function+'()')
#又或者
for function in function_list:
    eval(function)()
 
            list = [test1, test2, test3, test4]
    for i in list:
        i()
一定要字符串么,直接这样不行么?
java 用反射 python 应该也有类似的方法
class Example(object):
    def __init__(self):
        pass
    def run(self):
        print("run")
    def start(self):
        print("start")
    def end(self):
        print("end")
if __name__ == '__main__':
    e = Example()
    list =["run","start","end"]
    for i in list:
        attr = getattr(e,i)
        attr()
 
            综合了上面大佬们的指点,都试了一下

getattr 了解下
反射或者 eval()
python 代码从上到下执行的,挨个调用不好吗,搞这么多愚蠢的代码太不优雅了,就像 LS 一样,让别人怎么看得下去。