精华内容
下载资源
问答
  • python 中global的用法

    万次阅读 多人点赞 2019-03-13 11:08:33
    Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。 例子1 x = 1 def func(): x = 2 func() print(x) 输出:1 在func函数中并未在x前面加global,所以func函数无法将...

    Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。

    例子1
    x = 1

    def func():
        x = 2

    func()
    print(x)
    输出:1 
    在func函数中并未在x前面加global,所以func函数无法将x赋为2,无法改变x的值

    例子2
    x = 1

    def func():
        global x
        x = 2

    func()
    print(x)
    输出:2 
    加了global,则可以在函数内部对函数外的对象进行操作了,也可以改变它的值了

    例子3
    global x
    x = 1

    def func():
        x = 2

    func()
    print(x)
    输出:1 
    global需要在函数内部声明,若在函数外声明,则函数依然无法操作x
    --------------------- 
    作者:xtingjie 
    来源:CSDN 
    原文:https://blog.csdn.net/xtingjie/article/details/71210182 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • PHP global 关键词

    万次阅读 2021-03-26 20:36:48
    PHP global 关键词

    PHP global 关键词

    在这里插入图片描述

    展开全文
  • Python中关键字global与nonlocal的区别

    万次阅读 多人点赞 2018-03-24 19:12:36
    global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最...

    终于下定决心学习Python了。既然从头开始,就需要认认真真。

    首先需要说的是,我是初学Python,这篇文章只是用于展示global和nonlocal关键字的区别,是很简单的知识点,如果你已经学过,可以绕道。因为不经常写博客,而且是个Python小白,所以内容有些啰嗦。。。

    注意:我使用的是Python3.6.3,可能和Python2有不同的地方,并未确认。

    考虑到文章比较啰嗦,先把结论贴出来,避免浪费大家的时间:

    第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。

    第二,两者使用的范围不同。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未定义该变量,global修饰后也可以直接使用,而nonlocal关键字只能用于嵌套函数中,并且外层函数中定义了相应的局部变量,否则会发生错误(见第一)。

    接下来是得到结论的过程,有兴趣的可以浏览一下。

    我们先来看一个代码片段,看看默认情况下输出结果是什么(不敢恭维CSDN显示代码的格式,这里使用图片,如果要验证,得麻烦各位动动指头了)。

    输出结果:

    上面的代码片段中没有使用global或nonlocal关键字,是为了看一下默认情况下的输出结果。

    可以看到变量x在三次输出中是同一个变量(值相同,地址也相同),都是全局变量,在print函数中使用三个参数是为了方便识别变量,第一个参数是print运行的位置,第二个参数是变量x保存的值,第三个参数是变量x保存的值的地址(这个有待考证)。

    如果我们在func函数中修改x的值呢?

    输出结果:

    可以看到func函数中x的值和地址都变了,但没有影响函数外边的x的值和地址(main1和main2的数据相同)。所以func函数内的x变量和函数外的x变量是两个变量,而func内的x变量是局部变量,修改它的值不影响全局变量。

    第一回合:在函数内部使用了与全局变量同名的变量,如果不对该变量赋值(修改变量),那么该变量就是全局变量,如果对该变量进行赋值,那么该变量就是局部变量。

    如果我们想在func函数内修改全局变量x呢?我们先试试用global(全局)。

    运行后报错,提示语法错误。原来global修饰变量时不能直接赋值,修改为如下:

    运行结果:

    可以看到main1位置的x和func内部func1位置的x是同一个值,但和func内部的func2以及main2位置的x不一样了,反而是main2处的x和func内部的x变量是同一个。

    第二回合:global关键字修饰函数内部变量后标志其是全局变量(这里不能说global将x从局部变量改为了全局变量),如果用global修饰函数内的变量,必须在使用该变量前进行修饰(否则会发生变量未定义的错误,请你自己尝试一下)。

    我们试试nonlocal关键字呢?

    报错了,无法使用nonlocal关键字。

    接下来我们看看怎样使用nonlocal关键字。

    我们先添加一个嵌套函数:

    输出结果:

    可以看到嵌套函数内默认使用的也是全局变量。我们在func函数中修改一下x的值试试。

    输出结果:

    可以看到在func函数中修改x后,x被标识成局部变量,它的改变并没有影响全局变量x,但嵌套函数ifunc中的x受到了影响,显示ifunc中的x是func函数中的局部变量。

    我们再继续修改一下ifunc中x的值。

    输出结果:

    可以看到在ifunc修改x的之后即没有影响func中的局部变量x,也没有影响全局变量x,ifunc中的x是函数ifunc自己的局部变量。

    第三回合:如果在嵌套函数和函数(这里指包含嵌套函数的那个函数)中存在和全局变量同名的变量,如果直接使用,而不修改变量的值,那么这三个位置的变量使用的是同一个全局变量,如果在函数中修改了变量值,那么该变量会被标识为该函数的局部变量,嵌套函数直接使用时使用的是该函数的局部变量。如果在嵌套函数中修改同名变量的值,那么嵌套函数中的该变量会被标识为该嵌套函数的局部变量,它的修改不影响函数中同名变量和全局变量。

    我们在嵌套函数中添加global关键字试试。

    先不修改ifunc中x的值:

    输出结果:

    可以看出嵌套函数ifunc中的x是全局变量。

    再修改一下ifunc中x的值试试:

    输出结果:

    可以看出嵌套函数中x是全局变量,但它的修改没有影响到func函数中的同名局部变量。

    我们在前边已经发现在func函数中直接使用nonlocal关键字发生了报错,我们再试试在ifunc中使用nonlocal关键字:

    输出结果:

    可以看到nonlocal修饰后,ifunc中的x和func中的x是同一个变量,ifunc中修改x的值影响了func中的x(因为是一个变量),但并没有影响全局变量x。

    再扩展一下:

    在func函数中用global修饰x并修改ifunc中x的值,看看有什么变化:

    输出结果:

    我们再用nonlocal修饰一下ifunc函数中的x:

    运行时发生报错,提示没有为ifunc中的x找到绑定。

    第四回合:global可以在任何地方修饰变量,而且被global修饰的变量直接被标识为全局变量,对该变量修改会影响全局变量的值,但不影响函数中未被global修饰的同名变量(依然是局部变量),nonlocal只能在嵌套函数(可能还有其他的地方,我还没有检查)中使用,用于标识嵌套函数中的变量是包含该嵌套函数的函数中的同名变量,在嵌套函数中修改变量会影响函数中的变量。如果在函数中使用global修饰了变量,那么在嵌套函数中用nonlocal修饰同名变量会发生报错,因为nonlocal表示该变量在函数中已经定义,但检查时因为同名变量被global修饰为全局变量,所以不存在同名的局部变量,从而导致错误。

    如果文章中的内容存在错误,请大家指出来,如果你有更好的建议或意见,还请不吝赐教。谢谢。

     

    展开全文
  • PHP全局变量global与$GLOBAL详解

    万次阅读 2018-09-04 23:21:17
    A:1全局变量相当于有3个变量,函数外部的变量,函数内部的变量,及$GLOBAL的超全局变量。  ----$GLOBAL是全局唯一的,而$var在为全局变量的别名。 B:无论函数内部外部,只要曾经声明过全局变量,则$GLOBAL为...

    总结:

    A:1全局变量相当于有3个变量,函数外部的变量,函数内部的变量,及$GLOBAL的超全局变量。

          ----$GLOBAL是全局唯一的,而$var在为全局变量的别名。

    B:无论函数内部外部,只要曾经声明过全局变量,则$GLOBAL为全局的,无需再次声明;

    C:在函数内部unset  $var1 不会影响外部的变量,以及$GLOBAL['var1'];

        ----在函数内部的变量 global $var1 应是全局变量在函数内的一个别名,

    D:在函数外部unset($var1),$GLOBAL['var1']依然存在。

    E:在函数外部 unset($GLOBALS['var1']) 后,$var1仍然存在;

    F:如果在函数外部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是函数内部的$var 与其没有关系,除非使用global传递进来。

    G:如果在函数内部声明一个全局变量global $var,则$GLOBAL['var'] 指向同一地址。但是外部的 $var 与其没有关系,除非使用global 传递过来。

     

     

    1、如果想在PHP中使用全局变量,可参考下图:

    ---需要在外部用global声明,同时在函数内部进行声明,否则在函数内部会当局部变量。

     

     

    2、在外部不用global则外部的就是不是全局变量,无法在函数内部使用:

    ----内部用了关键字global,在内部或外部$global['var1']、$global['var2]均为全局变量;

     

    3、注释函数内部的global,则变量$var1 $var2 在函数内部的为局部变量,与外部互补干涉。则$GLOBALS为全局变量;

     

    4、当不用global时,外部变量无法在函数内使用,内部变量无法影响外部函数,且无$GLOBALS可用;

    5、unset($GLOBALS) 只会unset  $GLOBALS,函数内部的全局变量不受影响;

    6、在函数内部unset 变量,只是把内部的变量unset掉了。

    -----函数内的全局变量只是一个全局变量的别名而已。

    7、&引用,就是改变了变量的地址值(变量的引用传递)。

    --在函数中把$GLOBAL['var2']指向了 $GLABAL['var1'],所以在函数内部时均一致;

    --在函数外部var1 与 $GLOBALS['var1']一致,所以这3个变量一致。全局变量var1在函数内外时均一致;

    --在函数内部的var2 与外部的var2 为同一个变量,在内外时均一致;

    --此时只是把 $GLOBALS['var2']的因为修改为了var1,其它变量的值均为变化。

    展开全文
  • Global Mapper操作手册

    2017-08-14 10:24:46
    Global Mapper操作手册
  • 使用git config --global设置用户名和邮件

    万次阅读 多人点赞 2018-11-03 11:41:44
    安装好git后,在命令行或终端中使用下面的命令可以设置git自己...git config --global user.name "bryan sun" git config --global user.email "hitsjt@gmail.com" 注意git config命令的–gl...
  • globalmapper操作手册

    2018-03-25 11:30:51
    globalmapper操作手册(上帝之眼Global Mapper系列教程开课啦,本系列教程由风侠老师主讲,坐沙发蹲地板的同Global Mapper 是一款地图绘制软件,不仅能够将数据(例如:SRTM数据)显示为光栅地图、高程地图、矢量...
  • Python中的global关键字的用法 global的英文相比你肯定知道,全球的,总的。那么正Python编程语言中,结合global的中文意思你会更加的理解这个关键字的用法。我们使用global关键字可以定义Global的变量。 global ...
  • Python 全局变量与global关键字

    万次阅读 多人点赞 2017-07-25 19:34:39
    Python 全局变量与global关键字 ​ 在Python的变量使用中,经常会遇到这样的错误: local variable 'a' referenced before assignment 它的意思是:局部变量“a”在赋值前就被引用了。 ​ 比如运行下面的代码就会出现...
  • php global 要点

    千次阅读 2018-10-03 10:56:44
    1、global 函数体外定义后 函数体中不能访问(如果要访问需要在函数体中声明一下这个变量为global),在函数体中定义global 函数体外可以访问这个变量; 2、global 在函数外定义后,各个函数体 可以通过声明...
  • GlobalMapper17补丁

    2016-03-01 10:15:11
    GlobalMapper17补丁,不懂E文,压缩包内有一个global_mapper14.1.0汉化资源的电子表格文件,希望懂的朋友在此基础上完成汉化。
  • Local 和 Global 作用域

    万次阅读 2021-03-26 20:36:02
    Local 和 Global 作用域
  • Macbook GlobalProtect 连接问题

    万次阅读 热门讨论 2020-07-22 15:40:42
    Macbook GlobalProtect 连接问题1. 遇到的问题2. 解决方案3. 正常的流程 今天安装GlobalProtect遇到一些小问题,在这里记录下来分享给大家。 1. 遇到的问题 今天安装完GlobalProtect之后,输入portal address 后,卡...
  • PHP 全局变量global与$GLOBAL大详解

    千次阅读 2016-09-21 18:56:31
    ---需要在外部用global声明,同时在函数内部进行声明,否则在函数内部会当局部变量。...----内部用了关键字global,在内部或外部$global['var1']、$global['var2]均为全局变量; 3、注释函数内部的g
  • 执行 yarn global add @vue/cli 后,重启bash……, vue命令依然不生效; 而npm 全局安装(npm install -g [package])后,命令生效。 yarn global bin //查找yarn安装目录 复制安装目录至电脑(我的电脑是win10)的...
  • TensorFlow中global_step的简单分析

    万次阅读 多人点赞 2017-11-11 21:46:39
    global_step在滑动平均、优化器、指数衰减学习率等方面都有用到,这个变量的实际意义非常好理解:代表全局步数,比如在多少步该进行什么操作,现在神经网络训练到多少轮等等,类似于一个钟表。 根据代码可以发现...
  • SyntaxWarning: name 'x' is assigned to before global declaration global color Python这种报错很大原因是在同一个函数重复使用了global 声明举个例子x = 0 def func(a, b, c): if a == b: global x x = 10 ...
  • Global_Mapper教程

    2011-08-15 17:02:35
    Global_Mapper中文教程 学习使用Global_Mapper软件
  • python global 用法简介

    千次阅读 多人点赞 2019-05-28 22:49:16
    简单介绍 global 的用法 2、用法 2.1、用法一 使用 global ,可以让 方法内的 局部变量 全局可用,并且在别的文件里也可以引用到 def fun(): global c c =0 fun() print(c) 打印: 0 2.2 用法2 在局部函数对...
  • global_mapperV17.0中文汉化,内有注册教程。用于地图绘制,将数据显示为光栅地图、高程地图、矢量地图,对地图作编辑、转换、打印、记录GPS及利用数据的GIS功能等。
  • global mapper19汉化包

    2018-12-21 18:22:44
    Global Mapper 是一款地图绘制软件,不仅能够将数据(例如:SRTM数据)显示为光栅地图、高程地图、矢量地图,还可以对地图作编辑、转换、打印、记录GPS及利用数据的GIS(地理信息系统)功能,6.xx版增加了直接访问USGS...
  • python中的全局变量(global关键字)

    万次阅读 2020-10-05 02:51:19
    一般定义在函数之外,然后函数内部通过global关键字描述,以区分函数内部的普通变量。一般,需要用到全局变量的地方,我都会把这些函数写成一个类,然后通过类属性变量的方法公用一个变量。不过,很多时候用不着...
  • Global Mapper系列教程

    2014-05-08 13:32:45
    Global Mapper系列教程
  • 如何安装GlobalMapper

    千次阅读 2020-05-02 11:15:35
    如何安装GlobalMapper Global Mapper 是一款强大的地图绘制软件,不仅能够加载栅格影像、高程数据、矢量地图,还可以对地图作编辑、转换、打印等。我们一般用GlobalMaper生成等高线,查看卫星影像,对影像和高程...
  • Commit failed - exit code 128 received, with output: '*** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name &...
  • global-mapper-入门指南,旨在协助global-mapper的基本操作,并帮助了解一些常用的功能。
  • flutter globalkey

    千次阅读 2018-11-10 10:28:11
    总之框架要求同一个父节点下子节点的Key都是唯一的就可以了,GlobalKey可以保证全局是唯一的,所以GlobalKey的组件能够依附在不同的节点上。
  • python 中的 global 关键字到底是啥原理?本文将深入浅出的介绍清楚这个问题
  • gnu global for windows

    热门讨论 2012-02-02 20:07:28
    gnu global for windows版本 widon@widon-laptop:~$ ls Desktop/glo62wb/bin/ global.exe gozilla.exe gtags.exe sort.exe globash gtags-cscope.exe htags.exe
  • Global Mapper 帮助手册

    2010-06-22 19:58:59
    非常详细的Global Mapper 帮助手册 Global Mapper 及 cGPSMapper

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,177,936
精华内容 471,174
关键字:

global