【发布时间】:2020-08-02 23:06:39
【问题描述】:
我正在学习 Python,但我遇到了一个问题。如果有人能帮助解决我的疑问,我将不胜感激。
当我输入这段代码时:
i=1 and i<=10
print(i)
输出为真。显然我现在是一个布尔值,但我不明白为什么。 因为有一个“and”,而 1 小于 10,所以 statement “i=1 and i变量 i(而不是整个语句)变成布尔值?我以为我仍然应该是一个值为 1 的整数?
这是一个初学者的问题,但它真的让我感到困惑。感谢任何提供想法的人!
【问题讨论】:
-
该行读取为
i = (1 and i<=10)。您正在将表达式1 and i<=10(这是真的)分配给变量i。 -
你可能想写
i == 1而不是i = 1 -
如果
i之前没有被定义过,这个代码将导致NameError -
声明是
1 and i<=10。然后将其结果绑定到i,作为赋值运算符=的左侧。