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

    局部变量:
     def change_name(name):
      print("before change:", name)
      name = "Alex li"
      print("after change:", name)
      
     name = "Brace.li"
     change_name(name)
     print(name)
     
     输出:
     before change: Brace.li
     after change: Alex li
     Brace.li
     
     在函数里面定义的变量只在函数内生效,
     这个函数就是这个变量的作用域。
     这就叫局部变量:
     
     在子程序中定义的变量称为局部变量,
     
    全局变量:
     在第一级定义的变量,在全局范围内生效。
     在程序的一开始定义的变量称为全局变量。
     
     name = "Brace.li"
     def change_name(name):
      print("before change:", name)
      name = "Alex li"
      print("after change:", name)
     
     print(name)
     change_name(name)
     print(name)
     
     输出:
     Brace.li
     before change: Brace.li
     after change: Alex li
     Brace.li 
     
     =================================
     name = "Brace.li"
     def change_name():
      global name    #局部变量转全局变量
      print("before change:", name)
      name1 = "Alex li"
      print("after change:", name)
     
     print(name)
     change_name()
     print(name)
     
     输出:
     Brace.li
     before change: Brace.li
     after change: Brace.li
     Brace.li
     
     
     选中后:
     ctrl+? 可以是全部注释
     
     
     names = ["brace","lucy","kitty"]
     def change_name():
      names[0] = "jack"
      print("inside :", names)
     
     change_name()
     print(names)
     输出:
     inside : ['jack', 'lucy', 'kitty']
     ['jack', 'lucy', 'kitty']
     一般情况,如变量,字符,元组等简单的数据类型,局部变量是不能该全局变量的
     但复杂的数据类型,如列表,字典,集合等是可以改动的
  • 相关阅读:
    float
    老师的通病
    无题
    BufferedReader
    剩余定理
    ActionScript 多图加载 按图顺序索引
    C++ Socket 编程
    设计高可用和高负载的网站系统
    提高网站速度的最佳实践【翻译】
    把哈希表存储到数据库中
  • 原文地址:https://www.cnblogs.com/brace2011/p/9191615.html
Copyright © 2011-2022 走看看