Python闭包如何处理变量作用域冲突?

2026-06-11 02:470阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2054个文字,预计阅读时间需要9分钟。

Python闭包如何处理变量作用域冲突?

目录+封装+封装中的变量+封装+在我们使用返回函数的时候,由于我们在一个函数中需要返回另一个函数,因此在这个函数中需要重新定义一个函数。这样,就构成了我们的函数。

目录
  • 闭包
  • 闭包中的变量

闭包

​ 在我们使用返回函数的时候,由于我们在一个函数中需要返回另一个函数,因此,我们在这个函数中就需要重新定义一个函数。而这样,就造成了我们的函数嵌套问题。外面的函数相对于里面的函数而言是外函数(outer function),而里面的我们叫他内函数(inner function)。

def outerFunction(): #外函数 def innerFunction(): #内函数 x = 1 return x return innerFunction #返回值是一个函数 a = outerFunction() print(a)

这里我们打印 a 的值得时候,实际上打印的是我们的返回函数的地址 :

<function outerFunction.<locals>.innerFunction at 0x0000019C278C0E50>

​ 一般情况下,我们在使用函数作为返回值得时候,我们会在内函数中使用我们外函数中的变量,这种情况就会产生一个有意思的事情了。内函数会被返回给外部的其他调用者,而我们的变量是在我们的外函数中定义的。

阅读全文

本文共计2054个文字,预计阅读时间需要9分钟。

Python闭包如何处理变量作用域冲突?

目录+封装+封装中的变量+封装+在我们使用返回函数的时候,由于我们在一个函数中需要返回另一个函数,因此在这个函数中需要重新定义一个函数。这样,就构成了我们的函数。

目录
  • 闭包
  • 闭包中的变量

闭包

​ 在我们使用返回函数的时候,由于我们在一个函数中需要返回另一个函数,因此,我们在这个函数中就需要重新定义一个函数。而这样,就造成了我们的函数嵌套问题。外面的函数相对于里面的函数而言是外函数(outer function),而里面的我们叫他内函数(inner function)。

def outerFunction(): #外函数 def innerFunction(): #内函数 x = 1 return x return innerFunction #返回值是一个函数 a = outerFunction() print(a)

这里我们打印 a 的值得时候,实际上打印的是我们的返回函数的地址 :

<function outerFunction.<locals>.innerFunction at 0x0000019C278C0E50>

​ 一般情况下,我们在使用函数作为返回值得时候,我们会在内函数中使用我们外函数中的变量,这种情况就会产生一个有意思的事情了。内函数会被返回给外部的其他调用者,而我们的变量是在我们的外函数中定义的。

阅读全文