首页 > 编程语言 >What is the difference between non local variable and global variable? Python

What is the difference between non local variable and global variable? Python

时间:2022-10-29 09:23:55浏览次数:89  
标签:What Python global nonlocal inner between variable local

What is the difference between non local variable and global variable?

回答1

"nonlocal" means that a variable is "neither local or global", i.e, the variable is from an enclosing namespace (typically from an outer function of a nested function).

An important difference between nonlocal and global is that the a nonlocal variable must have been already bound in the enclosing namespace (otherwise an syntaxError will be raised) while a global declaration in a local scope does not require the variable is pre-bound (it will create a new binding in the global namespace if the variable is not pre-bound).

 

回答2

The nonlocal variables are present in a nested block. A keyword nonlocal is used and the value from the nearest enclosing block is taken. For example:

def outer():
    x = "local"
    
    def inner():
        nonlocal x
        x = "nonlocal"
        print("inner:", x)
    
    inner()
    print("outer:", x)

The output will be "nonlocal" both the times as the value of x has been changed by the inner function.

 

 

标签:What,Python,global,nonlocal,inner,between,variable,local
From: https://www.cnblogs.com/chucklu/p/16838048.html

相关文章

  • python hook的使用
    importtorchimporttorch.nnasnnimportnumpyasnpimporttorch.nn.functionalasFclassModel(nn.Module):def__init__(self):super().__init_......
  • python 中统计文件的行数
     001、[root@pc1test]#lsa.txttest.py[root@pc1test]#cata.txt12345[root@pc1test]#cattest.py#!/usr/bin/pythonin_file=open("a.txt","r")l......
  • 多进程与多线程 python
    进程之间的数据传递全局变量在多个进程中不共享,进程之间的数据是独立的,默认情况下互不影响用Queue实现多进程之间的数据传递Queue是多进程安全的队列,可以使用Queue......
  • [python] Python制作自动填写脚本,100%准确率
    本次案例代码实现思路:打开考试网站selenium-->浏览器驱动-->操作浏览器<模拟人的行为做操作浏览器>获取答案获取答案网站链接获取问题以及答案内容对比题目以......
  • python第一次课
    Python学习第一次学习引用第一次写博客没什么好分享的,把我学习python的心得分享出来;一是可以让新入IT行业的同学有一个好的榜样,二是不会写博客的程序员不是一个好的程......
  • python列表套字典去重
    最近在写工具,拿到数据,发现有重复的,想到用set去重,结果报错了,哈哈,重新学习下#例子:data_list=[{'id':1,'name':'user01'},{'id':2,'name':'user02'},{'id':1,'name':'......
  • Python 基础语法
    一、字面量字面量:在代码中,被写下来的固定的值,称之为字面量数字(Number)字符串(String)列表(List):有序的可变序列元祖(Tuple):有序的不可变序列集合(Set):无序不重复集合字典(Dic......
  • 【基础知识】为python部署第三方库(设备可联网版)
    “大家好哇!继上次我们说完怎么安装python之后,这一次给大家分享一下怎么根据自己的需求来部署所需要的库,如numpy库等。”01安装第三方库众所周知,在python下面有很多库,可......
  • 【python】装饰器参数
    装饰器是AOP编程思想,给主体函数增加功能,又不让代码入侵到主体函数中,实现高内聚,低耦合。参数有两种,一种是功能函数带参数、另外一种是装饰器函数带参数,如果装饰功能部分代......
  • 【基础知识】为python部署第三方库(设备不可联网版)
    “大家好哇!继上次我们说完怎么安装python之后,这一次给大家分享一下怎么根据自己的需求来部署所需要的库,如numpy库等。”01安装第三方库我们在前面已经说过了当设备可以......