吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1547|回复: 31
收起左侧

[求助] python中if语句中变量作用域问题

[复制链接]
古月银狐 发表于 2021-4-1 18:43
本帖最后由 古月银狐 于 2021-4-1 20:46 编辑

能否帮忙解决下,为何变量money在if语句外面是访问不到的呢? 不是说if , while,for 语句里面的变量在外面是可以访问得到的吗?谢谢!


大家帮我看下,为什么后面这二段代码变量i会有不同的取值?一个能取到,一个不能取到



[Python] 纯文本查看 复制代码
a = 5
b = 6
if True:  # 换成True,if外面的i可以到值,这是为什么?
    i = 0
    while i <= 5:
        if i == 2:
            print("跳出这次:", i)
        else:
            print(".....>", i)
        i += 1

print(i)



[Python] 纯文本查看 复制代码
a = 5
b = 6
if a < b:  # 换成True,if外面的i可以到值,这是为什么?
    i = 0
    while i <= 5:
        if i == 2:
            print("跳出这次:", i)
        else:
            print(".....>", i)
        i += 1

print(i)




代码图片

代码图片

代码一

代码一

代码二

代码二

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

QingYi. 发表于 2021-4-1 18:56
因为你money是写在里面的 作用域就是在if里面 出了if money就被释放掉了
咸鱼灭 发表于 2021-4-1 19:01
阳光肥肥 发表于 2021-4-1 19:05
你的语句如果走else 那么money就未定义 走if则正常

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
mzbqhbc + 1 + 1 我很赞同!

查看全部评分

loveliveao 发表于 2021-4-1 19:22
一起学习
 楼主| 古月银狐 发表于 2021-4-1 19:26
阳光肥肥 发表于 2021-4-1 19:05
你的语句如果走else 那么money就未定义 走if则正常

不是资料上说if  while for 语句里面的变量在外面能够访问吗、?
 楼主| 古月银狐 发表于 2021-4-1 19:26

一起交流学习
 楼主| 古月银狐 发表于 2021-4-1 19:31
阳光肥肥 发表于 2021-4-1 19:05
你的语句如果走else 那么money就未定义 走if则正常

走if也不能够正常运行,  没有else在外面也不能取得最后一个money 的值
Cool_Breeze 发表于 2021-4-1 19:33
古月银狐 发表于 2021-4-1 19:26
不是资料上说if  while for 语句里面的变量在外面能够访问吗、?

不执行if语句为真时,相当与你的代码(真那一段)被注释掉了,可以理解吗?
 楼主| 古月银狐 发表于 2021-4-1 19:55
Cool_Breeze 发表于 2021-4-1 19:33
不执行if语句为真时,相当与你的代码(真那一段)被注释掉了,可以理解吗?

这我可以理解,我的意思是我把ESLE里面的代码注释掉,后面那个money也取不到值
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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