【发布时间】:2018-07-06 17:06:21
【问题描述】:
我发现 (boolean type) 和 (integer) 在 Python3 中会变成整数。这行代码发生了什么转换?
flag=True
print(flag and 2)
输出:2
【问题讨论】:
-
也许你会发现这很有用。 stackoverflow.com/questions/37888620/…
-
如果“flag”为假,则输出为假...这是因为“and”表达式的右侧部分仅在左侧为真时才被评估...试试这个: flag=True print(2 and flag) output: true 换句话说,and 运算符返回它所操作的两个值之一。如果左侧是假的,则评估右侧部分没有意义,因此返回左侧部分。如果左边部分为真,则返回右边部分,因为表达式仍有可能为真
-
bool早在 Python 3 发布之前就已经是int的子类了(它本身发生在将近 10 年前)。
标签: python