全局变量和局部变量

全局变量和局部变量

 
********全局变量变量名全部大写
********局部变量变量名全部小写
 1 #有声明局部变量(无global)
 2 NAME='hhh'
 3 def change_name():
 4     name='ccc'
 5     print('change_name',name)
 6 change_name()
 7 print(NAME) 
 8 
 9 
10 运行结果:change_name ccc
11      hhh
12
13 #无声明局部变量
14 NAME='hhh'
15 def change_name():
16 print('change_name',NAME)
17 change_name()
18 print(NAME)
19 运行结果:change_name hhh
20      hhh
 

 

1 NAME='hhh'
2 def change_name():
3     print(name)
4     name=2
5 change_name()
6 print(name)

 

运行结果:error 因为print(name)中需要调用局部变量 但局部变量在此时并没有被创建

 

 

1 NAME=['ah','bh']
2 def xxchange():
3   name='xxxx'#创建局部变量
4   global NAME#声明全局变量
5   print(name)
6 xxchange()
运行结果:error 创建局部变量时应该在函数内部使用局部变量 但是声明global时 又应该使用全局变量 所以报错

 

#有global
1 NAME='hhh'
2 def change_name():
3     global NAME #这里的name为全局变量
4     NAME='ccc'#修改全局变量为ccc
5     print(NAME)
6 change_name()
7 print(NAME)

运行结果:ccc

     ccc

注:如果函数的内容中无global关键字,优先读取局部变量并且能读取全局变量 无法给全局变量重新赋值 name=‘hhh’

  但是对于可变类型(不可变类型:数字 字符串 元组;列表、字典可变),可以对内部元素进行操作

如果函数中有global关键字,此变量本质上就是全局变量,可读取可修改。

1 NAME=['ahah','bhbh']
2 def xxname():
3     NAME.append('python')
4     print('一二三四',NAME)
5 xxname()

 

运行结果:一二三四 ['ahah','bhbh','python']

posted @ 2018-05-18 16:48 容颜-gl 阅读(...) 评论(...) 编辑 收藏

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值