python函数局部变量和全局变量同名_python,javascript在函数中同时调用同名的局部变量与全局变量引发的问题...

首先在python中:在python同一函数中调用了全局变量后又在内部定义了与全局变量同名的局部变量,导致引用全局变量那里会报错:UnboundLocalError: local variable 'a' referenced beforeassignment代码:1 defnumCheck():2 print("输出1:",a) #报错处,目的是想引用全局中的993 ...
摘要由CSDN通过智能技术生成

首先在python中:

在python同一函数中调用了全局变量后又在内部定义了与全局变量同名的局部变量,导致引用全局变量那里会报错:

UnboundLocalError: local variable 'a' referenced before

assignment

代码:

1 defnumCheck():2 print("输出1:",a) #报错处,目的是想引用全局中的99

3 a = 10

4 print("输出2:", a)5 deffun():6 print("输出3:", a)7 a = 99

8 numCheck()9 fun()10 print(a)

运行结果:会直接报错。

解决方式:

方式1:在函数中要定义局部变量时不要与全局变量同名, 即在numCheck( )中定义的局部变量换个名。

方式2:进入函数时先定义与全局变量同名的局部变量,就不会报错了,

但是这样就没有达到引用全局变量a之后再定义与全局变量同名的局部变量a 的目的,所以引入方式3。

方式3:这里涉及到全局变量和局部变量的区分,如果想使用全局变量a之后再使用同名的局部变量a,

就应该是把方法和变量定义在类里。通过类的成员变量去引用全局变量。

代码如下:

1 classmine:2 def __init__(self,a):3 self.a =a4 self.b = 100

5

6 defnumCheck(self):7 print("输出1"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值