码迷,mamicode.com
首页 > 其他好文 > 详细

局部变量和全局变量

时间:2018-06-16 23:32:16      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:names   int   程序   作用域   简单的   ctr   AC   after   不能   

局部变量:
 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‘]
 一般情况,如变量,字符,元组等简单的数据类型,局部变量是不能该全局变量的
 但复杂的数据类型,如列表,字典,集合等是可以改动的

局部变量和全局变量

标签:names   int   程序   作用域   简单的   ctr   AC   after   不能   

原文地址:https://www.cnblogs.com/brace2011/p/9191615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!