什么是python函数的范围?

时间:2017-08-31 11:51:09

标签: python

函数的范围是否与python中变量的范围相同。 例如,我们有变量的全局,局部和非局部范围,是否有全局,局部和非局部函数?

1 个答案:

答案 0 :(得分:2)

没有区别。函数是第一类对象,可以像任何其他对象一样绑定到名称。 名称在Python中具有范围。

def语句类似于赋值语句;它创建一个函数对象,然后将名称绑定到该赋值。例如,以下内容非常相似:

def foo():
    return 3

foo = lambda: 3
但是,

def并不是必不可少的,因为单独使用表达式无法定义任意函数。 (lambda表达式的主体必须是单个表达式本身,而def语句的主体可以是任意语句列表。)