鱼C论坛

 找回密码
 立即注册
查看: 1837|回复: 7

[已解决]Python自定义函数执行的问题,亲们帮忙!

[复制链接]
发表于 2017-6-16 16:22:48 | 显示全部楼层 |阅读模式

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

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

x
def test():
    b=22
    print(b)
   
b = 0
for x in range(10):
    if  b ==0:
        test()
        print(b)
        print('---------------------------')
    else:
        b = 0
        print(b)

大神们:我想请问下,为什么我的结果都是如下图,每次执行完test()函数后,b又回去了,变成0~
runfile('C:/Users/毛毛/untitled0.py', wdir='C:/Users/毛毛')
22
0
---------------------------
22
0
---------------------------
22
0
---------------------------
最佳答案
2017-6-16 16:43:39
本帖最后由 gopythoner 于 2017-6-16 16:45 编辑

b一直都是等于0的,你一直在重复这三句
test()
print(b)
print('---------------------------')
def test():这个函数里面的b跟你后面b=0的b不是一个意义
函数里面的变量只是一个局部变量,只在函数里面存着,在外面不存在的
所以,你这个问题的知识点是“python局部变量和全局变量”
你可以按照这个知识点关键词去查一下,就会明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-16 16:43:39 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +2 鱼币

本帖最后由 gopythoner 于 2017-6-16 16:45 编辑

b一直都是等于0的,你一直在重复这三句
test()
print(b)
print('---------------------------')
def test():这个函数里面的b跟你后面b=0的b不是一个意义
函数里面的变量只是一个局部变量,只在函数里面存着,在外面不存在的
所以,你这个问题的知识点是“python局部变量和全局变量”
你可以按照这个知识点关键词去查一下,就会明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-16 19:02:12 | 显示全部楼层
给楼上最佳吧,是局部变量和全局变量的问题

我记得在小甲鱼前面几课有讲。

局部变量是函数里面定义的变量,只有在 函数里面有效

当全局变量b,在函数里重新定义时,函数里按局部变量b=22运算,出了函数这个屋子,又按全局变量b=0,进行运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-17 13:18:38 | 显示全部楼层
本帖最后由 yamal 于 2017-6-17 13:32 编辑

谢谢两位@gopythoner,@ButcherRabbit,那怎么解决这个问题呢?用global ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-17 14:54:55 | 显示全部楼层
yamal 发表于 2017-6-17 13:18
谢谢两位@gopythoner,@ButcherRabbit,那怎么解决这个问题呢?用global ?

test下面加一行  global b
还有这个论坛里面不是好友@是没用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-18 16:07:51 | 显示全部楼层
ooxx7788 发表于 2017-6-17 14:54
test下面加一行  global b
还有这个论坛里面不是好友@是没用的

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-18 16:09:15 | 显示全部楼层
那么问题来了,我设谁为最佳?都明白的回答了我的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-18 16:10:07 | 显示全部楼层
给第一位吧,剩下的两位,也非常感谢呀!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 08:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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