当前位置: 首页 > 面试题库 >

Python: 什么是nolocal和global变量?

杜绍元
2023-04-25

  它们都用于定义变量的范围。Global 是在函数作用域之外定义的变量。 

  该变量的值对于整个代码是相同的。它可以在程序的任何地方使用。

pi = 3.14  ## 全局变量 

def circle(radius):

    area_of_circle = pi * (radius) ** 2

    print("The area of the circle is: ",   area_of_circle)

circle(7) # The area of the circle is:  153.85

  NonLocal 是在未定义局部作用域的嵌套函数中使用的变量。如果你改变非局部变量的值,局部变量的值也会改变。

def outer_function():

    x = "local_variable"

    def inner_function():

        nonlocal x

        x = "nonlocal_variable"

        print("inner function:", x)

    inner_function()

    print("outer function:", x)

outer_function()

# inner function: nonlocal_variable

# outer function: nonlocal_variable
 类似资料:
  • 问题内容: 在Swift中,有时会使用这种模式。 这种模式的目的很明确。在全局线程中执行耗时的计算,以使UI不会被锁定,并在计算完成后更新主线程中的UI。 如果没有什么要计算怎么办?我刚刚在我的项目中发现了一个逻辑 崩溃但 不会崩溃。 它们有何不同?情况 B 与此不同吗? 还有一个问题。我知道主线程是串行队列,但是如果我在多个线程中运行多个代码块,它的工作方式就像并发队列。 如果主线程确实是一个串

  • 根据文件, 全局:组件在所有用户之间共享。会话:组件的单独实例提供给每个用户。 这意味着,对于全局组件,整个原子核系统只有一个实例。如果这是真的,那么它对像“/atg/dynamo/transaction/transactionmanager”这样的组件和大多数的液滴如何有效?因为这些组件同时被多个用户使用 编辑: 我理解“TransactionManager”行为。根据定义,应该有一个事务管理器

  • 本文向大家介绍C ++中的变量和变量类型是什么?,包括了C ++中的变量和变量类型是什么?的使用技巧和注意事项,需要的朋友参考一下 变量为我们提供了程序可以操纵的命名存储。C ++中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。一个非常简单的变量示例是- 在这里,我们有一个变量my_val,类型为int(integer)

  • 这些对象在所有模块中都是可用的。 有些对象实际上不在全局作用域内,而是在模块作用域内,这个在文档中会注明。 以下列出的对象是特定于 Node.js 的。 有些内置对象是 JavaScript 语言本身的一部分,它们也可以全局访问。 Buffer 类 新增于: v0.1.103 <Function> 用于处理二进制数据。详见 buffer 章节。 __dirname 新增于: v0.1.27 <st

  • Python 是荷兰人 Guido van Rossum (吉多·范罗苏姆,中国程序员称其为“龟叔”)在 1990 年初开发的一种解释型编程语言。 我们已经在《编译型语言和解释型语言的区别》一文中讲解什么是解释型语言。 图1:Python 的标志(Logo) Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Py

  • 问题内容: 究竟什么和意味着什么? 根据Python文档,从表面上看,它传入了一个参数元组。 打印输出: 您如何有效地使用它们? 问题答案: 将和或作为函数定义的参数列表的最后一项放置,可使该函数接受任意数量的参数和/或关键字参数。 例如,如果你想编写一个返回所有参数总和的函数,则无论你提供多少,都可以这样编写: 当你覆盖某个函数并希望使用用户传入的任何参数调用原始函数时,它可能更常用于面向对象的