鱼C论坛

 找回密码
 立即注册
查看: 1830|回复: 4

[已解决]while循环后面直接跟变量名字,但不跟任何比较运算符表示什么含义?

[复制链接]
发表于 2020-9-7 07:12:24 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
求问一下
while后直接跟变量的名字,表示的循环条件是什么?
例如
def func1(dec):
       while dec:
在某期的课后作业发现的,不知道这样写代表这个while循环的判断条件是什么?
最佳答案
2020-9-7 09:36:47
本帖最后由 Twilight6 于 2020-9-7 09:37 编辑



这里就看这个 while 循环条件的变量值,或者 while 循环条件这个函数的调用结果的 布尔类型值是什么,就作为 while 循环条件的结果

你要知道在 Python 中,只要是非0、非None、非空字符串、非空字典、非空列表、非空元组等,都可以视为布尔类型值的 True

只要是0、None、空字符串、空字典、空列表、空元组都可以视为布尔类型值的 False

所以这里 while 循环的条件判断是看你变量的值,该值的 布尔类型值是什么,即作为 while 循环的条件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-7 07:17:44 From FishC Mobile | 显示全部楼层
dec不是空的,包括空字符串列表等等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-7 07:40:00 | 显示全部楼层
while  dec 是个缩写,表示dec不为空,不为假,不为零的时候,while循环一直循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-7 08:35:16 | 显示全部楼层
while obj:

等价于
while bool(obj)
等价于
【如果__bool__定义了】while obj.__bool__()
【如果__bool__没有定义】while  True and obj.__len__()
【如果__len__和__bool__都没有定义】while True

if while and or not 都可以触发: 隐式布尔推断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-7 09:36:47 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-9-7 09:37 编辑



这里就看这个 while 循环条件的变量值,或者 while 循环条件这个函数的调用结果的 布尔类型值是什么,就作为 while 循环条件的结果

你要知道在 Python 中,只要是非0、非None、非空字符串、非空字典、非空列表、非空元组等,都可以视为布尔类型值的 True

只要是0、None、空字符串、空字典、空列表、空元组都可以视为布尔类型值的 False

所以这里 while 循环的条件判断是看你变量的值,该值的 布尔类型值是什么,即作为 while 循环的条件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 20:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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