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)

    返回:

  • 相关阅读:
    JAVA中对Cookie的操作
    springboot 快速开发的定制补充
    centos7 安装 mysql5.7 版本(全)
    springboot redis-cache 自动刷新缓存
    spring-data-redis-cache 使用及源码走读
    Redis 相关功能和实用命令(五)
    Redis 集群(三)
    Redis 主从,哨兵,集群实战(四)
    redis 主从复制和哨兵模式(二)
    导出 mysql 数据到 redis
  • 原文地址:https://www.cnblogs.com/zoe233/p/7065855.html
Copyright © 2011-2022 走看看