Python 为什么整数总是真的

Python 为什么整数总是真的,python,Python,我对if/else语句有点困惑。为什么代码总是打印True,而它应该是False 我尝试了不同的变量,如I=10,I=a',I=25。如果i=[] 这是我的代码: i=1 如果我: 打印真实 其他: 如果I:True,则在代码中打印False,您会说。但你不能把它和任何东西相比。您需要一个比较运算符。与if i==1类似,否则,如果默认情况下i有一个值,if语句将为true其值为false,表示0。能够检查一个数字是否为非零,或者一个字符串是否为非空,等等,这不是很好吗?:)为什么你认为这些例子

我对if/else语句有点困惑。为什么代码总是打印True,而它应该是False

我尝试了不同的变量,如
I=10
I=a'
I=25
。如果
i=[]

这是我的代码:

i=1
如果我:
打印真实
其他:

如果I:True,则在代码中打印False

,您会说
。但你不能把它和任何东西相比。您需要一个比较运算符。与
if i==1
类似,否则,如果默认情况下i有一个值,if语句将为true

其值为false,表示0。能够检查一个数字是否为非零,或者一个字符串是否为非空,等等,这不是很好吗?:)为什么你认为这些例子中的任何一个都应该是
False
?因为据我所知,如果I:等于如果I==1。不是吗?不,不是。这里有一些。因此(tl;dr)更接近于
bool(i)
,对于int,它转换为
i!=0
。不同的语言有不同的约定,你必须小心假设。“不将它与任何东西进行比较”是不正确的。在一行
如果x:
,x本身被评估为Truthy/Falsy值,因此相当于
如果bool(x) ==真