鱼C论坛

 找回密码
 立即注册
查看: 1578|回复: 2

[已解决]函数中全局变量的问题

[复制链接]
发表于 2017-12-8 21:11:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def test1():
    test1.a = 1
    return 0

def test2():
    test1.a += 1
    return 0

test1()
print(test1.a)
test2()
print(test1.a)

输出结果为:
1
2

请问test1.a这种 函数名.变量名 的变量为什么是全局变量?在test2中为什么可以不用global声明?


最佳答案
2017-12-8 21:15:48
因为它(函数名)相当于知道和操作了一个地址
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 21:15:48 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
因为它(函数名)相当于知道和操作了一个地址
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 21:38:09 | 显示全部楼层
test1.a 的意思是: 函数test1 里的 a
当函数text2 里 执行test1.a 当然就可以按着这个路径找到 a,并完成“+= 1 ”的操作。

不是全局变量,但是可以通过直接路径引用 达到全局变量的效果。


希望我没说错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-4 16:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表