精华内容
下载资源
问答
  • 本文实例讲述了python函数局部变量用法。分享给大家供大家参考。具体分析如下:当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的...

    本文实例讲述了python函数局部变量用法。分享给大家供大家参考。具体分析如下:

    当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

    一、使用局部变量

    示例如下:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    #!/usr/bin/python

    # Filename: func_local.py

    def func(x):

    print 'x is', x

    x= 2

    print 'Changed local x to', x

    x= 50

    func(x)

    print 'x is still', x

    输出:

    ?

    1

    2

    3

    4

    $ python func_local.py

    xis 50

    Changed local x to2

    xis still50

    工作原理:

    在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。

    接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

    在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

    二、使用global语句

    如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

    你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

    使用global语句示例:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    #!/usr/bin/python

    # Filename: func_global.py

    def func():

    global x

    print 'x is', x

    x= 2

    print 'Changed local x to', x

    x= 50

    func()

    print 'Value of x is', x

    输出:

    ?

    1

    2

    3

    4

    $ python func_global.py

    xis 50

    Changedglobal x to2

    Value of xis 2

    工作原理:

    global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。

    你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

    希望本文所述对大家的Python程序设计有所帮助。

    展开全文
  • 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量...一、使用局部变量示例如下:1 #!/usr/bin/python# Filename: func_local.pydef func(x): print 'x is', x23 x = 2 pri...

    1540632-20181211104902139-2144573124.png

    当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

    一、使用局部变量

    示例如下:

    1 #!/usr/bin/python# Filename: func_local.pydef func(x): print 'x is', x

    2

    3 x = 2 print 'Changed local x to', x4

    5 x = 50func(x)print 'x is still', x

    输出:

    1 $ python func_local.py2

    3 x is 50Changed local x to 2x is still 50

    工作原理:

    在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。

    接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

    在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

    二、使用global语句

    如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

    你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

    使用global语句示例:

    #!/usr/bin/python# Filename: func_global.pydef func(): global x

    print 'x is', x

    x= 2 print 'Changed local x to', x

    x= 50func()print 'Value of x is', x

    输出:

    1 $ python func_global.py2

    3 x is 50Changed global x to 2Value of x is 2

    工作原理:

    global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。

    你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

    展开全文
  • 全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错。1 #!/usr/bin/python32 #-...

    全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错。

    1 #!/usr/bin/python3

    2 #-*- coding: utf-8 -*-

    3 #@Time :2018/11/28 9:25

    4 #@Author :yosef

    5 #@Email :wurz529@foxmail.com

    6 #@File: :class22.py

    7 #@Software :PyCharm Community Edition

    8 A = 100 #全局变量一般用大写字母表示

    9

    10 deffunc():11 a = 50 #局部变量一般用小写字母表示

    12 print(a+A)13

    14

    15 func()16 print(A)17 print(a) # 报错信息NameError: name 'a' is not defined

    1540403-20181128095019381-41358804.png

    在函数内部,如果局部变量与全局变量变量名一样,则优先调用局部变量。

    1 #!/usr/bin/python3

    2 #-*- coding: utf-8 -*-

    3 #@Time :2018/11/28 9:55

    4 #@Author :yosef

    5 #@Email :wurz529@foxmail.com

    6 #@File: :class23.py

    7 #@Software :PyCharm Community Edition

    8 A = 100

    9

    10 deffunc():11 A=250

    12 print(A)13

    14

    15 print(A) #打印全部变量

    16 func() #局部变量

    1540403-20181128095801012-1707695958.png

    如果想在函数内部改变全局变量,需要在前面加上global关键字,在执行函数之后,全局变量值也会改变。

    1 #!/usr/bin/python3

    2 #-*- coding: utf-8 -*-

    3 #@Time :2018/11/28 9:55

    4 #@Author :yosef

    5 #@Email :wurz529@foxmail.com

    6 #@File: :class23.py

    7 #@Software :PyCharm Community Edition

    8 A = 100

    9

    10 deffunc():11 globalA12 A = 200

    13 print(A)14

    15

    16 print(A) #打印全局变量

    17 func() #局部变量

    18 print(A) #改变后的全局变量

    如果全局变量是列表类型,可以通过list的列表方法去对列表进行修改,并且可以不用global来声明。

    1 list_1 = [1,2,56,"list"]2

    3 defchangeList():4 list_1.append("over")5 print(list_1)6

    7 changeList()8 print(list_1)

    1540403-20181128102803324-945857307.png

    展开全文
  • 本文实例讲述了python函数局部变量用法。分享给大家供大家参考。具体分析如下: 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量...
  • 在本文中,你将了解Python全局变量、局部变量、非局部变量以及在何处使用它们。全局变量在Python中,在函数外部或全局范围内声明的变量称为全局变量,这意味着,可以在函数内部或外部访问全局变量。让我们看一个关于...

    在本文中,你将了解Python全局变量、局部变量、非局部变量以及在何处使用它们。

    全局变量

    在Python中,在函数外部或全局范围内声明的变量称为全局变量,这意味着,可以在函数内部或外部访问全局变量。

    让我们看一个关于如何在Python中创建全局变量的例子。

    例1:创建一个全局变量

    x = "global"

    def foo():

    print("x inside :", x)

    foo()

    print("x outside:", x)

    在上面的代码中,我们创建了一个全局变量x,并定义了一个foo()来打印全局变量x。

    如果你想改变函数内部的x值呢?

    x = "global"

    def foo():

    x = x * 2

    print(x)

    foo()

    当我们运行代码时,输出将是

    UnboundLocalError: local variable 'x' referenced before assignment

    输出显示一个错误,因为Python将x视为一个局部变量,而且x也没有在foo()中定义。

    为了使这个工作,我们使用全局关键字,以了解更多的访问Python全局关键字。

    局部变量

    在函数体内部或局部作用域中声明的变量称为局部变量。

    例2:访问范围之外的局部变量

    def foo():

    y = "local"

    foo()

    print(y)

    当我们运行代码时,输出将是

    NameError: name 'y' is not defined

    输出显示一个错误,因为我们试图在全局范围内访问一个局部变量y,而局部变量只在foo()或局部范围内工作。

    让我们看一个关于如何在Python中创建局部变量的例子。

    例3:创建一个局部变量

    通常,我们在函数中声明一个变量来创建一个局部变量。

    def foo():

    y = "local"

    print(y)

    foo()

    让我们看一下前面的问题,其中x是一个全局变量,我们想在foo()中修改x。

    全局变量和局部变量

    在这里,我们将展示如何在相同的代码中使用全局变量和局部变量。

    例4:在同一代码中使用全局变量和局部变量

    x = "global"

    def foo():

    global x

    y = "local"

    x = x * 2

    print(x)

    print(y)

    foo()

    在上面的代码中,我们将x声明为全局变量,将y声明为foo()中的局部变量。然后,我们使用乘法运算符*来修改全局变量x,并同时输出x和y。

    在调用foo()之后,x的值就变成了global global,因为我们使用x * 2来打印两次global。然后,我们打印局部变量y i的值。e当地。

    例5:全局变量和同名的局部变量

    x = 5

    def foo():

    x = 10

    print("local x:", x)

    foo()

    print("global x:", x)

    在上面的代码中,我们对全局变量和局部变量使用了相同的名称x。当我们打印相同的变量时,会得到不同的结果,因为变量是在两个作用域中声明的,即foo()内部的局部作用域和foo()外部的全局作用域。

    当我们在foo()中打印变量时,它输出的是局部x: 10,这叫做局部变量作用域。

    类似地,当我们在foo()之外打印变量时,它输出全局x: 5,这叫做变量的全局作用域。

    非局部变量

    非局部变量用于未定义局部作用域的嵌套函数,这意味着,变量既不能在局部范围内,也不能在全局范围内。

    让我们看一个关于如何在Python中创建全局变量的例子。

    我们使用非局部关键字来创建非局部变量。

    示例6:创建一个非局部变量

    def outer():

    x = "local"

    def inner():

    nonlocal x

    x = "nonlocal"

    print("inner:", x)

    inner()

    print("outer:", x)

    outer()

    在上面的代码中有一个函数inner(),我们使用非局部关键字nonlocal来创建非局部变量,inner()函数是在另一个函数outer()的作用域中定义的。

    注意:如果我们更改了非局部变量的值,则更改将出现在局部变量中。

    展开全文
  • python局部变量和全局变量

    万次阅读 2017-07-31 19:12:06
    全局变量:所有函数之外定义的变量局部变量:函数内部定义的变量 ...(即声明了一个新的局部变量。如果这个变量名字和全部变量名字相同,那么局部变量名字会覆盖全局变量名字。#[demo1] num = 100 def func(): newVa
  • 这篇文章主要为大家详细介绍了python 局部变量与全局变量功能实例,具有一定的参考价值,可以用来参考一下。对详解python 局部变量与全局变量感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!本文将详细...
  • python局部变量和全局变量区别

    千次阅读 2018-01-16 15:37:59
    全局变量:所有函数之外定义的变量 局部变量:函数内部定义的变量 或者代码...(即声明了一个新的局部变量。如果这个变量名字和全部变量名字相同,那么局部变量名字会覆盖全局变量名字。 #[demo1] num = 100 def fu
  • python里面全局变量有两种灵活的用法:1 声明法在文件开头声明全局变量在具体函数中使用该变量时,需要事先声明 global variable,否则系统将该变量视为局部变量。CONSTANT = 0 #定义了一个全局变量,最好将全局变量...
  • 原标题:python局部变量和全局变量的的详细解读当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是...
  • 因为python中变量名是内存对象的引用,C/C++变量名就是内存对象。 修改C/C++变量就相当于修改变量对应的内存对象。...否则赋值操作就会新建一个同名的局部变量。当然直接引用赋值过的全局变量没有问题。 ...
  • python局部变量和全局变量 1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如: num = 100 def func(): num = 123...
  • 68. Python局部变量和全局变量修改的声明----nonlocal和global关键字
  • 一:局部变量和全局变量 局部变量: 定义在函数内部的变量称为局部变量(函数的形参也是局部变量),局部变量只能在函数内部使用,只有在函数调用时才能够被创建,在函数调用之后会动销毁。 全局变量 定义在函数外部...
  • 有这样一段PYTHON代码,从事...然后在PYTHON中却不尽相同,在python中的函数中,如果没有明确声明是全局变量,那么python就会为函数创建局部变量,所以函数中操作的变量也是局部变量 count = 5 def myfun(): ...
  • python局部变量和全局变量之隐藏机制 函数中可以访问全局变量但是还有个隐藏机制会始报错 x=5 def f(): x=10 #若是局部变量赋值与全局变量相同 此时用的是局部变量,因为当局部变量和全局变量具有相同的变量名时 ...
  • 原标题:关于Python局部变量和全局变量必须知道的几句话虽然Python支持非常复杂的变量作用域和访问顺序(详见:、),但是一般而言,能够分清局部变量和全局变量基本上就够用了。1、一个变量的作用域是指能够访问它...
  • 局部变量 什么是局部变量?作用是什么? 定义在函数内部的变量,叫做局部变量。在不同函数内部可以有相同名字的局部变量,但是他们之间互不干扰。 作用:在函数内临时保存数据,让数据方便使用。   全局变量...
  • 局部变量 什么是局部变量 局部变量,就是在函数内部定义的变量不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的...
  • 局部变量 1.什么是局部变量 如下图所示: 2.小总结 局部变量,就是在函数内部定义的变量 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 局部变量的作用,为了临时保存数据需要在函数中定义...
  • 1 #!/usr/bin/env python ... 4 #Python3 局部变量与全局变量作用域 5 6 name01 = '1' 7 name02 = '1' 8 def test(name,name02): #因为函数内的name01被golbal成了全局变量,所有此时的函数参数...
  • 函数内变量引用,从内层至外层依次查找,找到则停止,如果直到最外层也没有找到则抛出异常 变量赋值,除非声明为全局,否则均为局部变量
  • 当你在函数定义内声明变量的时候,它们与函数外...一、使用局部变量 示例如下: <font style="color:rgb(51, 51, 51)"><font face="arial, sans-serif">&lt...
  • 全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错。 #!/usr/bin/python3 # ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,487
精华内容 13,794
关键字:

python声明局部变量

python 订阅