zoukankan      html  css  js  c++  java
  • 局部变量和全局变量

    全局与局部变量

    定义:
    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
     
    作用域:
    全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
     
    当全局变量与局部变量同名时:
    在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
    1 def change_name(name):
    2     print('before change',name)
    3     name='Zoe'  #局部变量。这个函数就是这个局部变量的作用域。
    4     print('after change',name)
    5 
    6 name='zoe'  #全局变量。
    7 change_name(name)
    8 print(name)

    将函数中的局部变量声明为全部变量。

     1 def change_name(name):
     2     global school  #用global在函数中将布局变量声明为全局变量。
     3     school='666'
     4     print('before change',name)
     5     name='Zoe'  #局部变量。这个函数就是这个局部变量的作用域。
     6     print('after change',name)
     7 
     8 name='zoe'
     9 change_name(name)  
    10 print(name)
    11 print(school)  #在函数中global定义全局变量,如果函数不调用,则会返回school未定义。

    除了字符串,元组,数字等本身就不能变的变量不能在函数中进行修改,列表,字典和集合等定义好的全局变量,在子程序中还是可以进行修改的。

    看下面的函数:

    1 names=['zoe','alice']
    2 def change():
    3     print(names)
    4     names[0]='Zoe'
    5 
    6 print(names)
    7 change()
    8 print(names)

    返回:

  • 相关阅读:
    Luogu P3371 线段树1
    8-16模拟赛
    Luogu P1313 计算系数
    Luogu P1525 关押罪犯
    Luogu P1040 加分二叉树
    Luogu P1018 乘积最大
    Luogu P1541 乌龟棋
    BST,Splay平衡树学习笔记
    常见的逻辑错误
    行为认知疗法——十大认知错误
  • 原文地址:https://www.cnblogs.com/zoe233/p/7065855.html
Copyright © 2011-2022 走看看