精华内容
下载资源
问答
  • 全局变量与局部变量

    2021-04-07 08:53:45
    全局变量与局部变量可以是同名;区别是全局变量在整个程序可用,但当与局部变量重名时,在局部变量的函数里用局部变量的值,在函数外依然为全局变量的值。

    在这里插入图片描述
    在这里插入图片描述
    全局变量与局部变量可以是同名;区别是全局变量在整个程序可用,但当与局部变量重名时,在局部变量的函数里用局部变量的值,在函数外依然为全局变量的值。

    展开全文
  • python中全局变量与局部变量

    万次阅读 多人点赞 2019-03-01 15:27:17
    python中全局变量与局部变量 标签: python 局部变量就是定义在一个函数体内部的变量 全局变量是定义在外面的变量 比如: a = 1 def f(): b = 2 其中a就是全局变量,而b是局部变量。局部变量只在函数体内部...

    python中全局变量与局部变量

    标签: python


    • 局部变量就是定义在一个函数体内部的变量
    • 全局变量是定义在外面的变量

    比如:

    a = 1
    def f():
        b = 2
    
    

    其中a就是全局变量,而b是局部变量。局部变量只在函数体内部有效,出了函数体,外面是访问不到的,而全局变量则对下面的代码都有效。

    在函数体内部使用全局变量

    全局变量可以直接在函数体内容部使用的,你可以直接访问,但是注意的是,如果对于不可变类型的数据,如果在函数里面进行了赋值操作,则对外面的全局变量不产生影响,因为相当于新建了一个局部变量,只是名字和全局一样,而对于可变类型,如果使用赋值语句,同样对外部不产生影响,但是使用方法的话就会对外部产生影响。

    如下面的代码:

    g_b = 3;g_l1 = [1,2];g_l2 = [1,2,3]
    def t1():
        g_b = 2
        g_l1 =[]
        g_l2.append(7)
    t1(g_b,g_l1,g_l2)
    print(g_b,g_l1,g_l2)
    

    global关键字

    上面说到,如果使用的是赋值语句,在函数内部相当于新建了一个变量,并且重新给了指向,但是有时候我们想把这个变量就是外部的那个全局变量,在赋值操作的时候,就是对全局变量给了重新的指向,这个时候可以通过global关键字表示我在函数里面的这个变量是使用的全局那个。使用方法如下:

    g_b = 3
    def t1():
        global g_b
        g_b = 2
    t1()
    print(g_b)
    

    这个时候你会发现全局变量g_b也重新指向了,这是因为global gb表示指定了函数中的g_b就是外面的那个。

    展开全文
  • 本文实例讲述了Python全局变量与局部变量区别及用法。分享给大家供大家参考,具体如下:对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白两者的区别了。定义:全局变量:在模块内...

    本文实例讲述了Python全局变量与局部变量区别及用法。分享给大家供大家参考,具体如下:

    对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白两者的区别了。

    定义:

    全局变量:在模块内、在所有函数的外面、在class外面

    局部变量:在函数内、在class的方法内

    下面来看看例子

    一、函数内部调用全局变量

    a="hello" #全局变量a

    def test():

    global a#调用全局变量a

    b =a #test方法里之后再调用a时,都是全局的a

    print(b,a)

    test()

    在test函数里调用全局变量a,看看运行后的结果

    ('hello', 'hello')

    运行后都是全局变量的值hello

    二、函数内部使用与全局变量同名的局部变量

    a="hello" #全局变量a

    def test():

    a="hell0 local" #定义了一个局部变量a

    b =a #test方法里之后再调用a时,都是局部的a

    print(b+",",a)

    test()

    这里在函数test里面再定义了一个a,这个a就为局部变量了,之后在test里调用的a全都是局部的a。

    看看运行结果:

    ('hell0 local,', 'hell0 local')

    三、函数内部修改全局变量值

    a="hello" #全局变量a

    def test():

    global a

    a="hell0 global" #修改全局变量a的值

    b =a #test方法之里后再调用a时,都是全局的a

    print(b+",",a)

    test()

    在函数test里面先声明用的是全局的a,然后对a进行修改,就等于是修改了全局变量a的值。

    看看运行结果:

    ('hell0 global,', 'hell0 global')

    注:在方法内部的变量是在=号前面的,那肯定是局部变量。如果是第一次出现在=号后面的,那肯定是调用的全局变量;全局变量可以在函数里面调用,局部变量只能在对应的函数里面调用,在该函数外面任何地方都无法被调用。

    更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

    本文标题: Python全局变量与局部变量区别及用法分析

    本文地址: http://www.cppcns.com/jiaoben/python/238954.html

    展开全文
  • Python全局变量与局部变量详解#Python中的变量:全局变量和局部变量#在很多语言中,在声明全局变量的时候,都喜欢把全局变量的名称定义为大写#定义学生人数为100STUDENT_NUMBER = 100#学校名称SCHOOL_NAME = '...

    Python全局变量与局部变量详解#Python中的变量:全局变量和局部变量

    #在很多语言中,在声明全局变量的时候,都喜欢把全局变量的名称定义为大写

    #定义学生人数为100

    STUDENT_NUMBER = 100

    #学校名称

    SCHOOL_NAME = 'Guangzhou University'

    """\

    获取全局变量:学生人数STUDENT_NUMBER的值

    """

    def getStudentNumber():

    return STUDENT_NUMBER

    """\

    重置全局变量:学生人数STUDENT_NUMBER值

    """

    def setStudentNumber(num):

    global STUDENT_NUMBER

    STUDENT_NUMBER = num

    """\

    获取全局变量:学校名称SCHOOL_NAME的值

    """

    def getSchoolName():

    return SCHOOL_NAME

    """\

    重置全局变量:学校名称SCHOOL_NAME值

    """

    def setSchoolName(name):

    global SCHOOL_NAME

    SCHOOL_NAME = name

    def changeValue():

    name = '北京大学'

    number = 90

    print('全局变量STUDENT_NUMBER = ' , getStudentNumber())

    print('全局变量SCHOOL_NAME = ' , getSchoolName())

    print('#######################################')

    print('局部变量namber = ' , number)

    print('局部变量name = ' , name)

    print('#######################################')

    print('改变全局变量值...')

    print('#######################################')

    setStudentNumber(number)

    setSchoolName(name)

    print('全局变量STUDENT_NUMBER = ' , getStudentNumber())

    print('全局变量SCHOOL_NAME = ' , getSchoolName())

    if __name__ == '__main__':

    changeValue()

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,526
精华内容 4,210
关键字:

全局变量与局部变量