- 本教程为python3文档解读
- 本教程面向完全型小白,只要你会在电脑上打字,那你就可以看懂。
- 参考视频观看,味道更加:https://www.bilibili.com/video/av13431762/
贯穿始终的理念:别废话,就是干!
编程的本质(上)
编程就是控制计算机做我们想让它做的事情。如何控制?一句话概括:通过通断电控制。
举一个最最简单的编程例子:开关灯泡!
你没有看错!就是开关灯泡!我们通过一个开关,改变了灯泡的状态!给电,亮!断电,不亮!我们通过通断电的方式,操作灯泡电路,让灯泡做了我们想让它做的事情。
但实际的计算机是远比灯泡电路复杂的多的通断电电路。你可以想象一下,控制自己卧室的灯泡亮灭,和控制整栋楼的灯泡亮灭,甚至控制整个国家,整个世界的灯泡亮灭,难易程度是完全不同的。
当然,随着灯泡越多,我们能表达的信息也就越多。
这里给大家举一个小例子:https://www.bilibili.com/video/av13418869/
我们继续说回灯泡:
- 一个灯泡:有亮灭两种状态。可以表达两种状态。比如父母可以通过你卧室的灯光判断你有没有睡觉。
- 两个灯泡:有4种状态。哪四种呢?
左灯 | 右灯 |
---|---|
亮 | 亮 |
亮 | 灭 |
灭 | 亮 |
灭 | 灭 |
想想看,这是不是意味着我们只用两个开关就可以表达出四种信息?
- 三个灯泡:有8种状态。
- 四个灯泡:有16种状态。
- 五个灯泡:有32种状态。
- 六个灯泡呢?
- 七个灯泡呢?
- 那么更多灯泡呢?
我们会发现,灯泡的数量与其能表现出的状态是2的N次方关系。
这种N次方的数量关系,是不是意味着:随着灯泡的增多,我们只要用相对较少的开关,就可以控制一定数量的灯泡的亮灭,表达出足够多的信息!
这就是计算机的一个基本原理之一。
而在计算机中,这种一个灯泡表示亮灭的最小信息单位就叫做bit,中文翻译为:位。
而亮灭的状态也用数字1与0来表示。1表示亮、表示通电等意思;0表示不亮、表示断电等意思。
这种用0与1两种不同状态表达信息的方式,就是我们常常谈到的二进制!
但是光有二进制还是不够,一个bit能表示的信息太少了,所以,人们规定,我们把八个bit打包成一组,并且命名位:byte,中文翻译为:字节。
那么,一个字节可以表现出多少种状态呢?2的8次方,也就是256种状态。
但是我们还面临一个问题,这些状态都表示什么?
你可以想象一下,你在自己窗台上摆了8个灯泡,街对面的小伙伴也在窗台上摆了8个灯泡,你点亮了其中两个灯泡:01001000,然后又重新点亮了4个灯泡:01101001。你的小伙伴怎样才能理解你的意思,并且回复你呢?
除非你们规定好了不同亮灭组合表示的意思。于是ASCII规则应运而生,大概发音:啊思key。
具体对照规则可以参考以下链接:
ASCII: https://zh.wikipedia.org/wiki/ASCII
这就是我们常说的字符编码规则。
规则不止这一套,还有:GBK、UTF-8等。
目前通用的是UTF-8,因为它通过小灯泡的组合,可以表示几乎所有国家的文字,并且兼容ASCII。
等等!不是说8个小灯泡只能表示256个字符吗?光中文也不止256个啊,怎么表示全世界的文字呢?
原因很简单,8个不够,再来8个不就够了,没错,UTF-8用了16个小灯泡表示字符。。。
对照表格看看,上面两组小灯泡组合01001000,01101001表示什么意思~
鉴于大家刚刚开始接触编程,所以这一小节就写到这里吧。今天只要理解bit和byte的概念就行了。
我们将在下一小节通俗的讲解编程时,我们到底是在干什么?
《跟我读python3文档:002_编程的本质是什么!(下)》
相关文章,请点击文集《跟我读python文档》
网友评论