优草派  >   Python

Python作用域的查找顺序是什么?Python作用域是如何排序的

罗西汉            来源:优草派

python作用域指的就是对象可以在哪一个范围内去正常访问和使用,除了一些关键字修饰之外,对象都只能够在自己作用域内部去使用。而python作用域也分为几种不同的类型并且能按照大小顺序去排序,下文会来个大家详细介绍一下python作用域相关知识。

Python作用域的查找顺序是什么?Python作用域是如何排序的

(1)首先需要知道的就是python中作用域按照从大到小顺序排序分别为内置作用域、全局作用域、闭包函数外作用域、以及局部作用域。而python作用域最基础的规则就是,小的作用域能够去引用大作用域内的对象,而外部作用域则无法使用内部作用域的变量。

(2)第二个要提的点就是闭包函数作用域了,闭包函数指的就是在一个函数内部又去定义了另外一个函数。那么这个时候外层函数就被称之为闭包作用域,而内存函数可以去引用外层函数的对象,代码示例如下所示:

def nums:
  x = 10
  def pp:
     print(x)

以上示例中pp为内层函数,nums为外层函数,所以pp可以去使用nums函数中定义好的变量x。

(3)而内置作用域指的就是模块导入之后所形成的作用域,之所以它的范围最大,优先级最高,这是因为模块导入之后,无论是全局作用域还是其他的内部作用域,都可以直接调用里面的对象。

以上就是关于“Python作用域的查找顺序是什么?Python作用域是如何排序的”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行