zoukankan      html  css  js  c++  java
  • 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)  #全局变量的值发生改变
  • 相关阅读:
    转:Redis 3.2.1集群搭建
    转:GET和POST两种基本请求方法的区别
    web.xml中 /和/*的区别
    java main方法里调用mapper
    Java定时任务
    @Resource与@Autowired注解的区别
    解决Eclipse EE部署web项目在Tomcat webapp目录下没有工程文件的问题
    get方式中文参数乱码解决方法
    生成excel并发送给客户端
    java把汉字转换成拼音
  • 原文地址:https://www.cnblogs.com/Druidchen/p/7758243.html
Copyright © 2011-2022 走看看