Python不是A或A%B

时间:2016-03-31 08:01:19

标签: python boolean

我理解0代表false1代表true,因此not 1代表falsenot 0意味着是真的,但对于not 3 not 4之类的东西,为什么它们是false?因为not 3有可能成为1

1 个答案:

答案 0 :(得分:1)

那是计算机逻辑。通过0和1的组合将所有内容引入到机器中。每个逻辑都有2个面FalseTrue,它们由0和1表示。所以基本上是0和1,Python用它来评估布尔对象,不完全是一些整数。 bool对象本身只是int的子类,具有不同的属性,如表示和缺少大量整数的属性。

关于python中的Truth Value Testing

  

可以测试任何对象的真值,用于if或while条件或下面布尔运算的操作数。以下值被视为false:

  • 任何数字类型的零,例如,0,0L,0.0,0j。
  • 任何空序列,例如''()[]
  • 任何空映射,例如{}
  

用户定义类的实例,如果类定义了__nonzero__()__len__()方法,则该方法返回整数零或bool值为False。

     

所有其他值都被认为是真的 - 因此许多类型的对象始终为真。