学抓蟒蛇 发表于 2020-8-28 10:49:09

为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替?

请问为什么布尔类型(bool)中的True和False分别要用1和0来表示,这是否跟计算机系统或者硬件的识别有关?{:9_218:}

yhhpf 发表于 2020-8-28 10:51:09

没有吧,就像英文大写是A对应小些a,算是规定吧。

昨非 发表于 2020-8-28 10:52:07

本帖最后由 昨非 于 2020-8-28 10:54 编辑

高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我是不懂,也不用想这么多吧{:10_245:}

sunrise085 发表于 2020-8-28 10:52:34

这是规定,python语言中bool类型是int类型的子类
issubclass(bool, int)# bool 是 int 子类
得到的结果是True

学抓蟒蛇 发表于 2020-8-28 10:58:10

yhhpf 发表于 2020-8-28 10:51
没有吧,就像英文大写是A对应小些a,算是规定吧。

就是想求解一哈{:9_227:}

学抓蟒蛇 发表于 2020-8-28 10:59:24

昨非 发表于 2020-8-28 10:52
高级语言应该涉及不到硬件二进制编码
bool型数据本身就是从计算机二进制来的
涉及 数字电路知识啥的,我 ...

没有,在做小甲鱼的python课后作业,有一题的题目是这样的,所以过来请教一下各位鱼友。

学抓蟒蛇 发表于 2020-8-28 11:00:05

sunrise085 发表于 2020-8-28 10:52
这是规定,python语言中bool类型是int类型的子类

得到的结果是True

嗯~好的,谢谢

yhhpf 发表于 2020-8-28 11:13:57

学抓蟒蛇 发表于 2020-8-28 10:58
就是想求解一哈

行行,玩的6
那就送个最佳吧{:10_256:}

永恒的蓝色梦想 发表于 2020-8-28 11:14:14

学抓蟒蛇 发表于 2020-8-28 11:00
嗯~好的,谢谢

再早的语言我也不懂了。不过在 C语言 开始,就已经开始有用 1 来表示真,0 来表示假了。

永恒的蓝色梦想 发表于 2020-8-28 11:14:53

yhhpf 发表于 2020-8-28 11:13
行行,玩的6
那就送个最佳吧

这个并不是规定吧{:10_277:}

yhhpf 发表于 2020-8-28 11:28:26

永恒的蓝色梦想 发表于 2020-8-28 11:14
这个并不是规定吧

啊,不是吗?那是为啥?{:10_257:}

sunrise085 发表于 2020-8-28 12:17:28

永恒的蓝色梦想 发表于 2020-8-28 11:14
这个并不是规定吧

这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0
>>> True==1
True
>>> True==2
False
>>> False==0
True
>>> False==0.0
True
>>> False==[]
False
>>>

永恒的蓝色梦想 发表于 2020-8-28 12:18:47

sunrise085 发表于 2020-8-28 12:17
这不就是语言规则吗?python语言中bool是int的子类,这就是规定啊,然后True为1,False为0

这么一说好像很有道理{:10_272:}

admintest166 发表于 2020-8-29 00:30:25

本帖最后由 admintest166 于 2020-8-29 00:33 编辑

数电和模电当中 高电平就是1 也就是true 低电平就是0 也就是false   
这么说吧高电平(true)就会执行某些命令而低电平(false)则不执行   因为这跟二进制有关 二进制就是0和1

等你以后接触到底层的东西 就知道了的{:10_256:}

而且所有语言 1就是true 0就是false
页: [1]
查看完整版本: 为什么布尔类型(bool)的 True 和 False 分别用 1 和 0 来代替?