美文网首页Python
[Python] 函数内修改全局变量

[Python] 函数内修改全局变量

作者: 何幻 | 来源:发表于2016-03-06 10:42 被阅读1756次

(1)加上global x,则函数内部引用的x就是全局x

x = 1
def test():
    global x
    x = 2
    print(x)

test()    #2
print(x)    #2

(2)否则的话,变量名在等号左边,且在变量域内首次出现,
就认为是在定义局部变量。

x = 1
def test():
    x = 2
    print(x)

test()    #2
print(x)    #1

(3)函数中如果定义了同名变量,就会覆盖对全局变量的引用
在局部变量赋值前使用变量会报错,即使外层有同名变量

UnboundLocalError: local variable 'x' referenced before assignment
x = 1
def test():
    print(x)    #Error
    x = 2
    print(x)

test()
print(x)

相关文章

  • python函数

    函数 全局变量 获取全局变量python获取全局变量直接获取 修改全局变量python不允许直接修改全局变量如果要...

  • [Python] 函数内修改全局变量

    (1)加上global x,则函数内部引用的x就是全局x了 (2)否则的话,变量名在等号左边,且在变量域内首次出现...

  • python普通函数与嵌套函数访问外部作用域的变量问题

    函数内局部变量与外部全局变量 1 修改外部全部变量 如上运行后会报错 运行环境为python3.7, 上面定义说变...

  • 用python玩转数据《南京大学公开课》

    Python变量作用域 能否直接在函数里直接修改全局变量?(不能,global) 常用的python库: 下载常用...

  • 2019-03-04

    python函数,传递列表可以修改,普通变量只在函数内生效

  • 全局变量和局部变量

    解释1: python的运行,当外观看上去是函数内部修改了全局变量的值,实际上是函数内部重新创建了一个与全局变量同...

  • python

    函数内全局变量赋值 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变...

  • bom

    在函数内的变量,只能在函数内被访问 局部变量 全局变量 如何让函数内的变量成为全局变量的 window.open(...

  • PHP中常用的超全局变量使用介绍

    PHP里: 全局作用域:在函数外部定义的变量,就称为”全局变量“,全局变量不能在函数内使用。 局部作用域:在函数内...

  • Shell使用输出重定向时发现的问题总结

    在调用函数时,如果使用tee做输出重定向,会造成在函数内对全局变量的修改,出函数之后失效。 不使用tee做输出重定...

网友评论

    本文标题:[Python] 函数内修改全局变量

    本文链接:https://www.haomeiwen.com/subject/gesnkttx.html