Python在另一个函数的函数中调用函数

时间:2018-02-26 15:34:40

标签: python python-3.x python-2.7

我想从另一个函数

中调用另一个函数中的1个精确函数
def exemple():    
    def dostuff1():  
        print('Stuff 1')  
    def dostuff2():  
        print('Stuff 2')  
    def dostuff3():  
        print('Stuff 3')  

def training():
    #want to call ONLY Dostuff2

2 个答案:

答案 0 :(得分:2)

首先,您的语法对于内部函数不正确:您必须使用def关键字,如下所示:

def exemple():    
    def dostuff1():  
        print:('Stuff 1')  
    def dostuff2():  
        print:('Stuff 2')  
    def dostuff3():  
        print:('Stuff 3')

其次,这个问题已在这里得到解答:How to access a function inside a function?

简单来说,你不能直接从外部调用内部函数,但你可以做一些像@gautamaggarwal的答案所建议的那样。

答案 1 :(得分:0)

将功能示例定义为: -

def exemple(func_name):    
    def dostuff1():  
        print('Stuff 1')  
    def dostuff2():  
        print('Stuff 2')  
    def dostuff3():  
        print('Stuff 3')
    func_dic = {
        "dostuff1" : dostuff1,
        "dostuff2" : dostuff2,
        "dostuff3" : dostuff3
    }
    return func_dic[func_name]

然后在另一个函数中调用你的函数:

def training():
    exemple("dostuff2")()

我希望它有所帮助!