Python:在函数中调用函数

时间:2014-05-16 16:52:23

标签: python function nested

我是python的新手,我正在为朋友制作一个程序。我想知道是否可以在另一个函数中调用函数,例如:

def hundredsCheck():
    if till.hundreds > 0:
        till.hundreds -= 1
        total -= 100
        deposit.hundreds += 1
        deposit.total += 100
        return
    else:
            fiftiesCheck()
            return

在这种情况下,fiftiesCheck()是一个在hundredCheck()下面定义的函数,并且遵循非常相似的格式。我有两个类,直到和存放,它们只包含我列出的例子中使用的值。

我这样做是为了在占用大量空间的分层if语句中节省空间,所以这会更简单。如果这是一种可行的方法,那么请说明,以及您可能有的任何其他建议。

3 个答案:

答案 0 :(得分:1)

你绝对可以用Python中的另一个函数调用一个函数,只要被调用者在调用者的范围内。

查看此问题并回答: Short Description of the Scoping Rules?

缺点:在函数内部,您可以在全局范围,函数范围内调用函数,或者,如果您在类中,则调用类范围。

答案 1 :(得分:0)

确定你甚至可以做像

这样的事情
def func1():
    print "OK"

def func2():
    print "OK"
    f1 = func1 #call a function as something else
    f1()

def func3():
    print "OK"
    def f1(): #define a function inside another function
        func2()
    f1()

func3()

答案 2 :(得分:0)

为什么不试试这个?只需尝试将占位符函数放在一段代码中,然后将其粘贴到python解释器中。

但是为了回答这个问题,这是你的答案。

是。您可以从其他功能调用函数,甚至可以在函数内定义其他函数:

>>> def foo():
...     print 'foo'
... 
>>> def oop():
...     def boo():
...             foo()
...             print 'boo'
...     boo()
...     print 'oop'
... 
>>> def loo():
...     oop()
... 
>>> loo()
foo
boo
oop
>>>