python函数内部变量通过函数属性实现全局变量

把函数内部的变量看成函数的一个属性,从而在其他函数中进行调用,需要注意的是,不管在哪里调用,自己本身函数内部使用或者其他函数中调用都需要进行域指定。

# -*- coding:utf-8 -*-
def fuc1():
    #通过一个 ".",使用了fuc2的变量
    b = fuc2.a 
    print b

def fuc2():
    #这里需要注意的是,在fuc2函数内部使用a,同样要进行域确定,即
    #fuc2.a,才能访问
    fuc2.a = 0
    fuc1()

fuc2()  #打印的结果是 0
#访问fuc2的变量
print fuc2.a #打印的结果还是 0

#当在外面进行值变化时,fuc2的变量改变了,从而实现了全局变量的效果
fuc2.a = 2
fuc1() #全局变量的实现,现在输出的结果是 2

先在其他函数进行定义,在本身函数内进行使用

def fuc1():
    b = fuc1.a+2
    print b
def fuc2():
    fuc1.a = 5
'''
下面两个语句是正确的,但是如果我们把fuc2注释掉。不先使用fuc2函数,直接调用fuc1,会显示fuc1没有a属性

'''
fuc2()
fuc1() #输出的结果是7
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值