• 12-Python-局部、全局变量


    1、基本定义

    • 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
    • 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
    • 当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
     1 school = 'CD edu.'  #全局变量
     2 def change_name(name):
     3     school = 'oldboy'
     4     print("before change",name,school)
     5     name = "Druid"  #局部变量,作用域为该函数
     6     print("after change",name,school)
     7 
     8 name = 'druid'
     9 change_name(name)
    10 
    11 print(name)  #任然没有改变
    12 print(school)  #全局变量仍然没有改变
    13 
    14 print("-----------华丽的分割线-----------")
    15 
    16 school = 'CD edu.'  #全局变量
    17 def change_name(name):
    18     global school  #强制修改全局变量。但是不要这么做!
    19     school = 'oldboy'
    20     print("before change",name,school)
    21     name = "Druid"  #局部变量,作用域为该函数
    22     print("after change",name,school)
    23 
    24 name = 'druid'
    25 change_name(name)
    26 
    27 print(name)  #任然没有改变
    28 print(school)  #全局变量被局部变量改变
    29 
    30 print("-----------华丽的分割线-----------")
    31 
    32 def Name():  #不要这么做
    33     global name
    34     name = "druid"
    35 
    36 Name()
    37 print(name)
    38 
    39 print("-----------华丽的分割线-----------")
    40 
    41 names = ["druid","alex"]
    42 def change_names():
    43     names[1] = "eric"
    44     print("inside ",names)
    45 
    46 change_names()
    47 print(names)  #全局变量的值发生改变
  • 相关阅读:
    如何心无旁鹜的编程
    [转]虚拟现实和现实增强技术带来的威胁
    Mac上好用软件集锦
    无论如何都要来报到
    Unity3D脚本语言UnityScript初探
    X3DOM新增剪裁平面节点ClipPlane支持
    用Perl编写Apache模块续二
    如何浪费自己青春
    macbook 我们需要买吗
    看了一本Unity3D的教程
  • 原文地址:https://www.cnblogs.com/Druidchen/p/7758243.html
Copyright © 2020-2023  润新知